我的文本框名称为 ISCO68Code , ISCO68Title 都是文本。
当我在ISCO68Code中编码时,在我的另一个表libISCO1968中对应的ISCO68Title上必须出现一个标题。
以下是我的代码生成器:
Private Sub ISCO68Code_AfterUpdate()
ISCO68Title = DLookup("ISCO68Code", "libISCO1968", "[ISCO68Code]=" & ISCO68Code&)
End Sub
可悲的是,我收到了一条错误消息:
编译错误:类型声明字符与声明的数据不匹配 类型。
任何帮助都可以。
答案 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