【发布时间】:2021-12-14 18:48:53
【问题描述】:
所以我基本上试图使用客户 ID 从表格中提取客户信息,如姓名、地址、电话等,用于预先填写表格中的某些文本框。我将它链接到一个按钮,该按钮搜索另一个名为 CustomerID 的表,以查看电话号码是否存在于“电话”列中,如果存在则返回与其关联的 cusID,我使用 Dlookup 执行此操作,这似乎有效。然后,我想使用 cusID 使用下面的 SQL 查询从表 CustomerInfo 中查找相应的客户信息,但它只是在 SQL 查询行上抛出“Run-time elso rror '13' Type mismatch”。我已经尝试了一堆不同的格式,但似乎无法让它工作,有人知道我做错了什么吗?甚至可以将 SQL 查询数据解析为单独的文本框吗?下面还有代码
Private Sub querycust_Click()
phonesearch = DLookup("cusID", "CustomerID", "phone='" & 9999999999# & "'")
If IsNull(phonesearch) Then
MsgBox ("No Customer ID Exists For This Phone Number")
ElseIf Not IsNull(phonesearch) Then
DoCmd.RunSQL "SELECT " * " FROM CustomerInfo WHERE [CustomerInfo]![CusID]=phonesearch"
End If
End Sub
【问题讨论】:
-
"SELECT * FROM CustomerInfo WHERE [CustomerInfo]![CusID]=" & phonesearch -
DoCmd.RunSQL用于操作查询,不返回数据。 -
@ScottCraner 感谢您的回复!我刚刚尝试过,它现在抛出另一个错误“运行时错误 2342,runsql 操作需要一个由 SQL 语句组成的参数”
-
@Applecore 是的,我正在阅读其他线程,看到有人提到但没有任何替代方案,那么您将如何在 VBA 中获取相应的数据?
-
您可以尝试将表单的
.Recordsource设置为您创建的SQL 语句。或者,也可以使用 SQL 语句打开 Recordset,然后根据需要设置控件。除非您需要表中的所有字段,否则只需选择将要使用的字段,因为这样会更快。