Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[已解决]能否由一个文本框对应查询中的两个以上字段?

phenix  发表于:2010-08-29 22:38:48  
复制

窗体原有若干文本框,通过查询按钮的代码和查询中的若干字段一一对应,能否减少窗体上的文本框数量,使剩下的文本框和查询中一个以上的字段相关联,实现查询的目的。

 

以如下代码为例,假若删除窗体上的pinyin文本框,能否实现在姓名文本框中输入拼音字母则按pinyin字段进行查询、输入姓名则按姓名字段进行查询?谢谢了。

 

 

Private Sub cmd查询_Click()
On Error GoTo Err_cmd查询_Click

    Dim strWhere As String
   
    strWhere = ""
    If Not IsNull(Me.PinYin) Then
        strWhere = strWhere & "([pinyin] like '*" & Me.PinYin & "*') AND "
    End If
    If Not IsNull(Me.姓名) Then
        strWhere = strWhere & "([姓名] like '*" & Me.姓名 & "*') AND "
    End If
    If Not IsNull(Me.编号) Then
        strWhere = strWhere & "([编号] like '*" & Me.编号 & "*') AND "
    End If

    If Len(strWhere) > 0 Then
        strWhere = Left(strWhere, Len(strWhere) - 5)
    End If
   
    Debug.Print strWhere
   
    Me.档案查询子窗体.Form.Filter = strWhere
    Me.档案查询子窗体.Form.FilterOn = True
   

Exit_cmd查询_Click:
    Exit Sub

Err_cmd查询_Click:
    MsgBox Err.Description
    Resume Exit_cmd查询_Click
   
End Sub

 

Top
phenix 发表于:2010-08-29 23:10:50

刚才脑子不好使,出去转一圈清醒了一下解决了。

 

strWhere = strWhere & "([姓名] like '*" & Me.姓名 & "*' or [pinyin] like '*" & Me.姓名 & "*') AND "



lyxiong 发表于:2010-08-31 07:38:24
请问这句代码要放在什么位置?能传个示例上来分享吗?

总记录:2篇  页次:1/1 9 1 :