我使用以下代码在特定记录或添加数据模式下打开表单:
Instantiate(myObject, myParent, true);
即使Access理解并打印了我的ID,它也无法打开该记录中的表单。仅当我通过从Excel导入记录添加记录时才会发生这种情况。
你能帮忙吗?
答案 0 :(得分:0)
Me.ID
是一个整数,您将其与字符串进行比较。这会在Option Explicit
打开时触发类型不匹配运行时错误,但只会在Null
关闭时返回Option Explicit
,在False
语句中将其视为If
。< / p>
请添加Option Explicit
,并尊重数据类型(了解Option Explicit here。
正确的代码:
Private Sub Open_Click()
Dim recordID As Integer
If Not IsNull(Me.ID) Then
'Note that IsNull(RecordID) would always return true, as integers can't be Null.
recordID = Me.ID
DoCmd.OpenForm "Add Task", acNormal, , "ID=" & recordID, acFormEdit
Else
DoCmd.OpenForm "Add Task", acNormal, , , acFormAdd
End If
End Sub