需求,关键词模糊查询列出任一字段含有该关键词的录,模糊代码不懂还如何整合

时间:2022-02-02 15:26:58
在论坛里找到了很实用的模糊查询语句

    Dim 临时字符 As String
    查询语句 = "Select * From 普杰客户资料明细表 Where"
    For X = 1 To Len(txtQry.Text)
        临时字符 = Left(txtQry.Text, X)
        临时字符 = Right(临时字符, 1)
        If X = 1 Then
            查询语句 = 查询语句 & " 公司名称 LIKE '%" & 临时字符 & "%'"
        Else
            查询语句 = 查询语句 & " AND 公司名称 LIKE '%" & 临时字符 & "%'"
        End If
    Next X


这段代码我在单字段的关键词查询记录使用良好

我现在需要做一个报销票据的打印、记录和查询,用access
由于vb6的多行文本无法设定行距,报销事由栏我就按票据表格放了4个text,对应了4个字段,事由1~4
现在我要查询,如何在text1里输入关键词,查询4个事由字段显示任一字段符合要求的记录



然后,我试了
    查询语句 = "Select * From 普杰客户资料明细表 Where"
    For X = 1 To Len(txtQry.Text)
        临时字符 = Left(txtQry.Text, X)
        临时字符 = Right(临时字符, 1)
        If X = 1 Then
            查询语句 = 查询语句 & " 事由1 or 事由2 or 事由3 or 事由4 LIKE '%" & 临时字符 & "%'"
        Else
            查询语句 = 查询语句 & " AND 事由1 or 事由2 or 事由3 or 事由4 LIKE '%" & 临时字符 & "%'"
        End If
    Next X



没有跳错,但是查不出结果,好像没有实际意义,基础不好求解救


是有办法设置text的行距呢?
还是能够把表格里4个text都能写入表中的一个字段里?
还是改下这个语句?

需求,关键词模糊查询列出任一字段含有该关键词的录,模糊代码不懂还如何整合

2 个解决方案

#1


好吧我自己想通了

#2


strSQL = "Select * From 普杰客户资料明细表 Where"
For X = 1 To Len(txtQry.Text)
    strChar = Mid(txtQry.Text, X, 1)
    If X = 1 Then
        strSQL = strSQL & " InStr(事由1 & 事由2 & 事由3 & 事由4,'" & strChar & "')"
    Else
        strSQL = strSQL & " Or InStr(事由1 & 事由2 & 事由3 & 事由4,'" & strChar & "')"
    End If
Next X

#1


好吧我自己想通了

#2


strSQL = "Select * From 普杰客户资料明细表 Where"
For X = 1 To Len(txtQry.Text)
    strChar = Mid(txtQry.Text, X, 1)
    If X = 1 Then
        strSQL = strSQL & " InStr(事由1 & 事由2 & 事由3 & 事由4,'" & strChar & "')"
    Else
        strSQL = strSQL & " Or InStr(事由1 & 事由2 & 事由3 & 事由4,'" & strChar & "')"
    End If
Next X