访问开放表单并不了解导入的字段

时间:2017-08-08 16:15:53

标签: ms-access access-vba

我使用以下代码在特定记录或添加数据模式下打开表单:

Instantiate(myObject, myParent, true);

即使Access理解并打印了我的ID,它也无法打开该记录中的表单。仅当我通过从Excel导入记录添加记录时才会发生这种情况。

你能帮忙吗?

1 个答案:

答案 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