Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问VBA查找代码中的记录,然后设置为窗体_Vba_Ms Access - Fatal编程技术网

访问VBA查找代码中的记录,然后设置为窗体

访问VBA查找代码中的记录,然后设置为窗体,vba,ms-access,Vba,Ms Access,以下代码产生此错误运行时错误“2455”您输入的表达式对属性窗体/报表的引用无效。 子窗体后面的RecordSource是实际的表名 调试时,它在Set rs=…或下一行停止 Private Sub Form_Current() Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("SELECT * FROM " & Forms!frmTrafficAndLogistics!sfrTnLPO.Form.RecordS

以下代码产生此错误
运行时错误“2455”您输入的表达式对属性窗体/报表的引用无效。

子窗体后面的RecordSource是实际的表名

调试时,它在
Set rs=…
或下一行停止

Private Sub Form_Current()
    Dim rs As Recordset

    Set rs = CurrentDb.OpenRecordset("SELECT * FROM " & Forms!frmTrafficAndLogistics!sfrTnLPO.Form.RecordSource)
    If Not (rs.EOF And rs.BOF) Then rs.MoveFirst

    rs.FindFirst "PONum = " & Me.PONum

    If Not rs.NoMatch Then
        Forms!frmTrafficAndLogistics!sfrTnLPO.Form.Bookmark = rs.Bookmark
    End If

    rs.Close
    Set rs = Nothing
End Sub

只需将窗体的记录源分配给记录集对象,如

Private Sub Form_Current()
    Dim rs As Recordset

    Set rs = Forms!frmTrafficAndLogistics!sfrTnLPO.Form.RecordSetClone

    If Not (rs.EOF And rs.BOF) Then rs.MoveFirst

    rs.FindFirst "PONum = " & Me.PONum

    If Not rs.NoMatch Then
        Forms!frmTrafficAndLogistics!sfrTnLPO.Form.Bookmark = rs.Bookmark
    End If

    rs.Close
    Set rs = Nothing
End Sub

只需将窗体的记录源分配给记录集对象,如

Private Sub Form_Current()
    Dim rs As Recordset

    Set rs = Forms!frmTrafficAndLogistics!sfrTnLPO.Form.RecordSetClone

    If Not (rs.EOF And rs.BOF) Then rs.MoveFirst

    rs.FindFirst "PONum = " & Me.PONum

    If Not rs.NoMatch Then
        Forms!frmTrafficAndLogistics!sfrTnLPO.Form.Bookmark = rs.Bookmark
    End If

    rs.Close
    Set rs = Nothing
End Sub

只需将窗体的记录源分配给记录集对象,如

Private Sub Form_Current()
    Dim rs As Recordset

    Set rs = Forms!frmTrafficAndLogistics!sfrTnLPO.Form.RecordSetClone

    If Not (rs.EOF And rs.BOF) Then rs.MoveFirst

    rs.FindFirst "PONum = " & Me.PONum

    If Not rs.NoMatch Then
        Forms!frmTrafficAndLogistics!sfrTnLPO.Form.Bookmark = rs.Bookmark
    End If

    rs.Close
    Set rs = Nothing
End Sub

只需将窗体的记录源分配给记录集对象,如

Private Sub Form_Current()
    Dim rs As Recordset

    Set rs = Forms!frmTrafficAndLogistics!sfrTnLPO.Form.RecordSetClone

    If Not (rs.EOF And rs.BOF) Then rs.MoveFirst

    rs.FindFirst "PONum = " & Me.PONum

    If Not rs.NoMatch Then
        Forms!frmTrafficAndLogistics!sfrTnLPO.Form.Bookmark = rs.Bookmark
    End If

    rs.Close
    Set rs = Nothing
End Sub


和表单属性、记录集或记录集克隆一起使用。@Fionnuala,为什么要与此相关?这只是一个风格问题,对吗?将
和表单属性、记录集或记录集克隆一起使用。@Fionnuala,为什么要与matter一起使用?这只是一个风格问题,对吗?将
和表单属性、记录集或记录集克隆一起使用。@Fionnuala,为什么要与matter一起使用?这只是一个风格问题,对吗?将
和表单属性、记录集或记录集克隆一起使用。@Fionnuala,为什么要与matter一起使用?这只是一个风格问题,对吗?你忘了我评论中的
。你在说什么@Fionnuala?
和我。RecordsetClone
@david你在运行多条语句。您正在使用表单记录集,不需要设置rs,只需与一起使用即可。@Fionnuala我明白您的意思……我以为您在谈论表单!frmTrafficAndLogistics。。。对象我不知道您在谈论rs。虽然我理解您的意图,但我认为With语句使其在代码中的可读性降低,并且我个人不喜欢以这种方式为记录集编写代码。此外,我也不确定它是否会带来任何性能奖励,但这只是我的观点。你忘了我的评论中的
。你在说什么@Fionnuala?
和我。RecordsetClone
@david你在运行多条语句。您正在使用表单记录集,不需要设置rs,只需与一起使用即可。@Fionnuala我明白您的意思……我以为您在谈论表单!frmTrafficAndLogistics。。。对象我不知道您在谈论rs。虽然我理解您的意图,但我认为With语句使其在代码中的可读性降低,并且我个人不喜欢以这种方式为记录集编写代码。此外,我也不确定它是否会带来任何性能奖励,但这只是我的观点。你忘了我的评论中的
。你在说什么@Fionnuala?
和我。RecordsetClone
@david你在运行多条语句。您正在使用表单记录集,不需要设置rs,只需与一起使用即可。@Fionnuala我明白您的意思……我以为您在谈论表单!frmTrafficAndLogistics。。。对象我不知道您在谈论rs。虽然我理解您的意图,但我认为With语句使其在代码中的可读性降低,并且我个人不喜欢以这种方式为记录集编写代码。此外,我也不确定它是否会带来任何性能奖励,但这只是我的观点。你忘了我的评论中的
。你在说什么@Fionnuala?
和我。RecordsetClone
@david你在运行多条语句。您正在使用表单记录集,不需要设置rs,只需与一起使用即可。@Fionnuala我明白您的意思……我以为您在谈论表单!frmTrafficAndLogistics。。。对象我不知道您在谈论rs。虽然我理解您的意图,但我认为With语句使其在代码中的可读性降低,并且我个人不喜欢以这种方式为记录集编写代码。此外,我也不确定它是否会带来绩效奖金,但这只是我的看法