我有一个名为(PostOff
)的表,其中有一个名为PAddress
的字段
以及名为CAddress
的表单文本框。
我正在尝试编写代码来选择PAddress
部分匹配表单文本框CAddress
的行。更具体地说,如果CAddress
包含PAddress
表字段的值,请选择该行。
我使用的代码仅在PAddress
完全匹配CAddress
时才有效:
("SELECT * FROM PostOff WHERE [PostOff.PAddress] Like '" & Me.CAddress & "'")
我想我需要类似的东西:
("SELECT * FROM PostOff WHERE "*[PostOff.PAddress]*" Like '" & Me.CAddress & "'")
但它不起作用。
答案 0 :(得分:0)
[MS Access解决方案]
根据您的评论...
如果您只想在town
字段中找到PAdress
字词,则可以使用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
上面的函数返回:'123','St','Town','City','US'
答案 1 :(得分:0)
如果我理解正确,您需要使用%
来匹配字符串前面或后面的任何内容
("SELECT * FROM PostOff WHERE [PostOff.PAddress] Like '%" & Me.CAddress & "%'")