0
我试图让这个工作?我怎样才能设置一个文本框在IN()
声明中使用?我希望用户能够列出他们想要查询的国家在IN语句中使用textbox值
SELECT *
FROM Table
WHERE CountryID IN (forms!frmImport!txtCountries)
我试图让这个工作?我怎样才能设置一个文本框在IN()
声明中使用?我希望用户能够列出他们想要查询的国家在IN语句中使用textbox值
SELECT *
FROM Table
WHERE CountryID IN (forms!frmImport!txtCountries)
您不能直接将文本框的名称直接放入SQL字符串中。
相反,你需要使用文本框的内容建立一个SQL字符串是这样的:
SELECT * FROM Table WHERE CountryID IN (1,2,3)
如果用户输入一个逗号分隔CountryIDs列表插入文本框,你可以建立这样的SQL :
Dim SQL As String
SQL = "SELECT * FROM Table WHERE CountryID IN (" & Forms!frmImport!txtCountries & ")"
但因为它很简单,我不会做这种方式,但易出现输入错误和SQL注入。
一个更好的办法是使用一个列表框,设置Multi Select
属性(使多个条目可以选择)和所有可用的国家名单填充它。
然后,用户可以选择他想要的,你可以建立一个使用所选的项目从列表框中的SQL字符串:
Dim ListItem As Variant
Dim CountryList As String
Dim SQL As String
For Each ListItem In Forms!frmImport!lstCountries.ItemsSelected
If CountryList > "" Then
CountryList = CountryList & ","
End If
CountryList = CountryList & ListItem
Next
SQL = "SELECT * FROM Table WHERE CountryID IN (" & CountryList & ")"
什么技术? ASp.NET? PHP? HTML吗?手机应用? –
使用SQL或VBA访问Oops – user3150260