我正在 MS Access 中构建一个表单,我希望根据用户在同一个表单上与之交互的两个下拉菜单从几个表中的一个中提取一些信息并填充到一个文本框中。在研究了这个之后,我发现 DLOOKUP 做了我想做的事情 - 唯一的问题是我在让它正常工作时遇到问题,并且我不断在文本框中出现“#NAME”。
我用 DLOOKUP 做了一些教程并取得了成功的结果,但将其应用于我的项目并没有成功。在我的项目中,Dlookup 的 FieldName 是静态的,即“描述”,但表名和标准都是动态的,作为变量传递给它。
目前我有四个表:tblAC、tblAT、tblAU 和 tblCA - 都遵循设计:
表(Control_Number,描述)
每个表有四个记录,以“Control_Number”作为主键。控制号是一个字符串 - 因为它可以包含字母。
到目前为止,我所拥有的是:
Dim controlfamily1 As String
Dim control1 As String
controlfamily1 = "tbl" & CStr(Me.cboControlFamily.Value)
control1 = CStr(Me.cboControls.Value)
Me.txtDescription.ControlSource = DLookup("[Description]", controlfamily1, "[Control_Number] ='" & control1 & "'")
其中 controlfamily1 是字符串类型的变量 - 表示 DlookUp 中的 TableName。Control1 也是一个字符串变量,表示要搜索的特定条件。我相信我的问题都归结为我对引号、括号和双引号的使用。
谢谢!