1

访问 2007 ADP/ADE。

我有一个绑定到表格的模式。该模式有一个列表框控件和两个按钮。一个执行从绑定记录集中访问值的代码子例程,另一个关闭模式。

两种使用方法:

  1. 在列表框中选择一个值,然后单击按钮执行子程序,效果很好。

  2. 在列表框中选择一个值,然后按两次键盘上的 ENTER 键,它会尝试执行相同的子例程,但在第一次尝试访问绑定记录中的值时会抛出 NULL 错误。

所以使用方法 1,像 Me.RecordNumber 这样的值将返回 12345。使用方法 2,它将为 NULL 并出错。有趣的是,列表框中的选定值本身可以使用任何一种方法。

不是一个真正的严重错误,但它很烦人。我必须教人们点击按钮,而不仅仅是在这个特定的模式上使用 ENTER 键。有没有人见过这个?知道为什么使用方法#2 绑定记录集中的值不可用吗?

编辑澄清: 此错误似乎与任何特定的 VBA 代码无关。我什至创建了一个新模式,绑定了一个不同的表,并且只是尝试访问该记录集上的一个随机数据列。结果相同。

这是出现错误的片段。尝试获取 RecordType 时出错,这是一个永远不会为空的值。

Private Sub cmdAddFromTemplate_Click()
On Error GoTo Err_MyErrorHandler

Dim myTemplateName As String
Dim myDepartment As String  

Dim i As Integer

'Did they provide a valid template name?
If Me.listTemplateToImport.ItemsSelected.Count > 0 Then

    'Cycle through list and build criteria
    For i = 0 To Me.listTemplateToImport.ListCount - 1

        'Is this status selected?
        If Me.listTemplateToImport.Selected(i) Then

            'Grab selected template name
            myTemplateName = Trim(Me.listTemplateToImport.ItemData(i))

        End If

    Next i

Else

    'Warn and exit
    MsgBox "You must select a valid template name.", vbOKOnly, "STEP: Action Canceled"

    Exit Sub

End If

'Grab Bound Values
myDepartment = Me.RecordType 'NULL error here when using ENTER key.
4

0 回答 0