MS Access 2007中的Dlookup功能

时间:2016-09-08 10:48:43

标签: vba ms-access access-vba ms-access-2007 lookup

我的文本框名称为 ISCO68Code ISCO68Title 都是文本。

当我在ISCO68Code中编码时,在我的另一个表libISCO1968中对应的ISCO68Title上必须出现一个标题。

以下是我的代码生成器:

Private Sub ISCO68Code_AfterUpdate()

ISCO68Title = DLookup("ISCO68Code", "libISCO1968", "[ISCO68Code]=" & ISCO68Code&)

End Sub

可悲的是,我收到了一条错误消息:

  

编译错误:类型声明字符与声明的数据不匹配   类型。

任何帮助都可以。

2 个答案:

答案 0 :(得分:1)

你需要引号告诉变量是文本:

Private Sub ISCO68Code_AfterUpdate()

    ISCO68Title = Nz(DLookup("ISCO68Code", "libISCO1968", "[ISCO68Code]='" & ISCO68Code & "'"))
    ' If the control is a Label, set its Caption:    
    ' ISCO68Title.Caption = Nz(DLookup("ISCO68Code", "libISCO1968", "[ISCO68Code]='" & ISCO68Code & "'"))

End Sub

但是你的功能没有多大意义,因为当你查找时,DLookup将返回相同的 ISCO68Code ...除非你只是检查它是否存在。

答案 1 :(得分:0)

尝试此功能:

Private Function ISCO68Code_AfterUpdate(ByVal ISCO68Code As String) As Variant

ISCO68Code_AfterUpdate = DLookup("ISCO68Code", "libISCO1968", "[ISCO68Code] = " & ISCO68Code)

End Function 
Private Sub ISCO68Code_AfterUpdate_test()
Dim ISCO68Title As Variant

ISCO68Title = ISCO68Code_AfterUpdate(ISCO68Code)

'MsgBox ISCO68Title
Debug.Print ISCO68Title

End Sub