2009-07-14 57 views
0

下面的查询导致没有行VBA SQL查询问题

lstResults.RowSource = "select EmpId from tblTesting where Empid ='" & Me.txtSearchEmpId.Value & "'" 

凡低于做工精细:

lstResults.RowSource = "select * from tblTesting" 

哪里是错在这里? 我检查的价值“” & Me.txtSearchEmpId.Value &““”使用断点具有重要的价值的‘123’(数值)

我EMPID是数值

请帮

+0

请花一些时间来学习一些关于SQL。该表是否有Empid = 123的行? EmpID字段是什么数据类型?如果是文本字段,请在txtSearchEmpID上执行TRIM – shahkalpesh 2009-07-14 06:47:06

回答

3

如果您EmpId是数字,你可能想要删除单引号:

lstResults.RowSource = "select EmpId from tblTesting where Empid = " & Me.txtSearchEmpId.Value 

如何工作

+0

感谢您的帮助 – SmartestVEGA 2009-07-14 06:48:41

+0

非常欢迎您。现在你可以称自己EvenSmarterVEGA :) – bernie 2009-07-14 06:50:12

1

首先,从您的价值中删除单引号,如果它确实是一个数字。

二,清理您的输入。如果有人在您的输入字段中键入123 or true会怎么样?您然后让他们选择所有输入。您可能希望将该值转换为整数,然后再转换为字符串以确保其是纯的。

xkcd #327xkcd #327