高手进来看看,为什么会报错!急!谢谢了!

milerzhang 2008-03-29 08:50:23
Private Sub tianjia_Click()
Dim zidm(9) As String
Dim i, a As Double
Dim sqlchaxun, sql As String
Dim rs As Recordset
Dim curdb As Database
Set curdb = CurrentDb
DoCmd.SetWarnings False
pinzhong.SetFocus
zidm(0) = pinzhong.Text
guigexinghao.SetFocus
zidm(1) = guigexinghao.Text
shiyongjixing.SetFocus
zidm(2) = shiyongjixing.Text
xinzengshuliang.SetFocus
zidm(3) = xinzengshuliang.Text
kucunshuliang.SetFocus
zidm(4) = kucunshuliang.Text
danwei.SetFocus
zidm(5) = danwei.Text
jiage.SetFocus
zidm(6) = jiage.Text
zongjiage.SetFocus
zidm(7) = zongjiage.Text
goumaishijian.SetFocus
zidm(8) = goumaishijian.Text
beizhu.SetFocus
zidm(9) = beizhu.Text

sql = "insert into 耗材明细 values ('" + zidm(0) + "','" + zidm(1) + "','" + zidm(2) + "','" + zidm(3) + "," + zidm(4) + _
"," + zidm(5) + "," + zidm(6) + "," + zidm(7) + ",'" + zidm(8) + "','" + zidm(9) + "')"
End Sub


Private Sub guigexinghao_Exit(Cancel As Integer)
Dim sqlchaxun, sql As String
Dim rs As Recordset
Dim curdb As Database
Set curdb = CurrentDb
DoCmd.SetWarnings False
guigexinghao.SetFocus
sqlchaxun = ""
sqlchaxun = "select * from 耗材表 where guigxh = """ + guigexinghao.Text + """"
Set rs = curdb.OpenRecordset(sqlchaxun)
If rs.RecordCount <= 0 Then
MsgBox "此规格库中没有!", vbOKOnly,
guigexinghao.SetFocus
Exit Sub
End If
shiyongjixing.SetFocus
shiyongjixing.Text = rs.Fields(2).Value
kucunshuliang.SetFocus
kucunshuliang.Text = rs.Fields(3).Value
danwei.SetFocus
danwei.Text = rs.Fields(4).Value
jiage.SetFocus
jiage.Text = rs.Fields(5).Value
zongjiage.SetFocus
zongjiage.Text = rs.Fields(6).Value
goumaishijian.SetFocus
goumaishijian.Text = rs.Fields(7).Value
beizhu.SetFocus
beizhu.Text = rs.Fields(8).Value
rs.Close
End Sub
运行时会报错:
运行时错误:‘2110’,不能将焦点移到“shiyongjixing”。
这是为什么,请高手帮忙!谢谢了!
...全文
103 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyann 2008-04-10
  • 打赏
  • 举报
回复

看了你的程序,其实你无需用 SetFocus, 不要用 text属性, 改用 value 即可

Private Sub Command8_Click()
Dim a(4) As String
a(0) = Text0.Value
a(1) = Text2.Value
a(2) = Text4.Value
a(3) = Text6.Value
End Sub

==== ====
liuyann 2008-04-10
  • 打赏
  • 举报
回复

你的 Text0_LostFocus() 已经 执行了 Text2.SetFocus
所以当你执行
Private Sub Command8_Click()
....
Text2.SetFocus

时, access先执行 Text0_LostFocus() ,这样 text2已经有focus了

==== ====
milerzhang 2008-04-10
  • 打赏
  • 举报
回复
我已上传到 www.access911.net/csdn ,文件名是“测试.mdb ”
liuyann 2008-03-30
  • 打赏
  • 举报
回复

我连你的 shiyongjixing 是文本框还是list, combox都不知道

哥儿们总不能让我猜吧

真相得到有效的帮助,建议你上传文件
== 思想重于技巧 ==
milerzhang 2008-03-29
  • 打赏
  • 举报
回复
我找到原因了,是因为运行了“shiyongjixing.SetFocus
shiyongjixing.Text = rs.Fields(2).Value
kucunshuliang.SetFocus
kucunshuliang.Text = rs.Fields(3).Value
danwei.SetFocus
danwei.Text = rs.Fields(4).Value
jiage.SetFocus
jiage.Text = rs.Fields(5).Value
zongjiage.SetFocus
zongjiage.Text = rs.Fields(6).Value
goumaishijian.SetFocus
goumaishijian.Text = rs.Fields(7).Value
beizhu.SetFocus
beizhu.Text = rs.Fields(8).Value

如果删除掉,就不会报错了!这是为什么?
milerzhang 2008-03-29
  • 打赏
  • 举报
回复
就是运行到“shiyongjixing.SetFocus ”报错!
liuyann 2008-03-29
  • 打赏
  • 举报
回复

帮你之前,总要搭环境模拟你的问题吧,可我怎么搭你的环境呢?
== 思想重于技巧 ==
milerzhang 2008-03-29
  • 打赏
  • 举报
回复
好像程序没法再回到“Private Sub tianjia_Click()”中。这是为什么?
milerzhang 2008-03-29
  • 打赏
  • 举报
回复
就是在运行完 “zidm(1) = guigexinghao.Text” ,程序会跳到“Private Sub guigexinghao_Exit(Cancel As Integer)
”。运行完“Private Sub guigexinghao_Exit(Cancel As Integer)”程序就报错了!
liuyann 2008-03-29
  • 打赏
  • 举报
回复

建议上传你的文件,否则很难查
== 思想重于技巧 ==
liuyann 2008-03-29
  • 打赏
  • 举报
回复

能把自己的问题清晰的告诉别人是件很难的事.

上传MDB文件 www.access911.net/csdn



加入QQ群 19055578 晚19:00 - 24:00在线
== 思想重于技巧 ==

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧