好的,所以我在 Access 中有一个数据库,当我打开一个表单(用于工作申请)并单击一个按钮时,它会运行以下代码:
Private Sub cmdAddDemo_Click()
DoCmd.OpenForm "sfrmAppDemographics", , , , , , txtApplID.Value
End Sub
其中 txtApplID 是一个文本框,其中填充了应用程序表中“应用程序 ID”号的数值。我希望将此值传递给“sfrmAppDemographics”表单,以便它将为应用程序的前面提到的表单中显示的用户打开正确的人口统计信息。
所以,我在人口统计表格的代码中这样做了:
Private Sub Form_Open(Cancel As Integer)
Dim rs As DAO.Recordset
Set rs = Me.Recordset
If rs.RecordCount = 0 Then
rs.AddNew
rs!ApplID = Me.OpenArgs
rs.Update
Else
MsgBox Me.OpenArgs
End If
Me.Requery
结束子
所以,想法是,如果没有人口统计信息,它将使用传递的 openargs 中的 ApplID 创建一个新的,如果有该用户的人口统计数据,它会弹出一个带有 openargs 的消息框(作为测试看看它是否工作)。我总是在 MsgBox 的行上收到错误“运行时错误'94':无效使用 Null”。(因为数据库确实有人口统计记录)。当我取出 Else MsgBox Me.OpenArgs 时,它只显示数据库中的第一个人口统计信息,ApplID 为 1。奇怪。看来我无法通过 Form_Open 代码中的 OpenArgs 功能传递或访问 ApplID。有什么帮助吗?