SQL 到 select 行,其中 table 字段部分匹配表单文本框字符串
SQL to select row where table field partially matches form textbox string
我有一个名为 (PostOff
) 的 table,它有一个名为 PAddress
的字段
和一个名为 CAddress
.
的表单文本框
我正在尝试将代码写入 select 行,其中 PAddress
与表单文本框 CAddress
部分匹配。更具体地说,select 行 if CAddress
包含 PAddress
table 字段的值。
我使用的代码只有在 PAddress
完全匹配 CAddress
:
时才有效
("SELECT * FROM PostOff WHERE [PostOff.PAddress] Like '" & Me.CAddress & "'")
我想我需要这样的东西:
("SELECT * FROM PostOff WHERE "*[PostOff.PAddress]*" Like '" & Me.CAddress & "'")
但它不起作用。
[MS Access 解决方案]
根据您的评论...
如果您只想在 PAdress
字段中查找 town
单词,您可以使用 IN 运算符。
sQry = "SELECT * FROM PostOff WHERE [PostOff.PAddress] IN (" & GetListOfWords(Me.CAddress) & ")"
GetListOfWords
函数可能如下所示:
Function GetListOfWords(ByVal sInputString As String) As String
Dim words() As String
Dim sResult As String
Dim i As Integer
words = Split(Replace(sInputString, ",", ""), " ")
For i = 0 To UBound(words)
sResult = sResult & "'" & words(i) & "',"
Next
GetListOfWords = Left(sResult, Len(sResult) - 1)
End Function
以上函数returns:'123','St','Town','City','US'
如果我没理解错的话,你需要用%
来匹配字符串前面或后面的任何东西
("SELECT * FROM PostOff WHERE [PostOff.PAddress] Like '%" & Me.CAddress & "%'")
我有一个名为 (PostOff
) 的 table,它有一个名为 PAddress
的字段
和一个名为 CAddress
.
我正在尝试将代码写入 select 行,其中 PAddress
与表单文本框 CAddress
部分匹配。更具体地说,select 行 if CAddress
包含 PAddress
table 字段的值。
我使用的代码只有在 PAddress
完全匹配 CAddress
:
("SELECT * FROM PostOff WHERE [PostOff.PAddress] Like '" & Me.CAddress & "'")
我想我需要这样的东西:
("SELECT * FROM PostOff WHERE "*[PostOff.PAddress]*" Like '" & Me.CAddress & "'")
但它不起作用。
[MS Access 解决方案]
根据您的评论...
如果您只想在 PAdress
字段中查找 town
单词,您可以使用 IN 运算符。
sQry = "SELECT * FROM PostOff WHERE [PostOff.PAddress] IN (" & GetListOfWords(Me.CAddress) & ")"
GetListOfWords
函数可能如下所示:
Function GetListOfWords(ByVal sInputString As String) As String
Dim words() As String
Dim sResult As String
Dim i As Integer
words = Split(Replace(sInputString, ",", ""), " ")
For i = 0 To UBound(words)
sResult = sResult & "'" & words(i) & "',"
Next
GetListOfWords = Left(sResult, Len(sResult) - 1)
End Function
以上函数returns:'123','St','Town','City','US'
如果我没理解错的话,你需要用%
来匹配字符串前面或后面的任何东西
("SELECT * FROM PostOff WHERE [PostOff.PAddress] Like '%" & Me.CAddress & "%'")