Office中国论坛/Access中国论坛
标题:
求助:碰到一个错误,不知道是怎么回事
[打印本页]
作者:
williamwangc
时间:
2011-12-5 21:16
标题:
求助:碰到一个错误,不知道是怎么回事
它显示这样的错误:
错误:你所所输入表达式引用了不存在或关闭的对象
帮助:如果由于 Microsoft Office Access 无法评估事件逻辑位置而导致无法运行事件,则可能发生此错误。例如,如果将窗体的 OnOpen 属性设为“=[Field]” =,就会发生此错误,因为激发该事件时,Access 需要一个宏或事件的名称。
Private Sub cmb_外协单位筛选_AfterUpdate()
Me.sub_外协单位人员历史库.Form.RecordSource = "SELECT * FROM [外协单位人员历史库] WHERE [所属外协单位]= '" & Me.cmb_外协单位筛选.Value & "'"
Me.sub_外协单位人员历史库.Requery
End Sub
Private Sub cmd_选中导出_Click()
Dim q As Integer
q = MsgBox("是否添加在历史库中选中的人员进入外协人员输入表中?", vbQuestion + vbYesNo + vbDefaultButton1, "注意")
If q = vbYes Then
Dim rst1 As ADODB.Recordset
Dim rst2 As ADODB.Recordset
Set rst1 = New ADODB.Recordset
Set rst2 = New ADODB.Recordset
rst1.Open "SELECT * FROM [外协单位人员历史库] WHERE [选中]=-1", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
rst2.Open "外协人员输入", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
Do While Not rst1.EOF
rst2.AddNew
rst2!所属外协单位 = rst1!所属外协单位
rst2!姓名 = rst1!姓名
rst2!身份证号 = rst1!身份证号
rst2!籍贯 = rst1!籍贯
rst2!工种 = rst1!工种
rst2!特种证号 = rst1!特种证号
rst2!特种证名称 = rst1!特种证名称
rst2.Update
Loop
rst1.Close
rst2.Close
CurrentProject.Connection = Nothing
MsgBox "导入成功"
Forms!外协人员输入_子窗体.Requery
Else
MsgBox "导入被取消"
Exit Sub
End If
End Sub
复制代码
我写了两个事件都是这样的错误。尤其是第一个。我觉得莫名其妙。实在找不出错误啊。
作者:
williamwangc
时间:
2011-12-5 21:26
而且似乎我这个窗体不管输什么代码好像都错得样子
作者:
roych
时间:
2011-12-6 22:51
1、rst1木有MoveNext语句。
2、如果还有问题,改成For i=1 to Rst2.Recordcount试试。
作者:
parbe
时间:
2011-12-7 12:55
我也遇到同样的问题, 用2010的似乎有时候我这个窗体不管输什么代码好像都错得样子
作者:
williamwangc
时间:
2011-12-11 13:30
该问题已解决。我重新创建了一遍这个窗体,又重新写了一遍以上的代码。 我发现用ADO的时候,如果数据来源写错,会产生很严重的错误,有时候需要删除整句的或是整段代码或整个窗体才能纠正这一个小错误。单单纠正错误的地方是不行的。否则就会出现以上的错误。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3