ACCESS子窗體篩選(模糊查詢)

2021-10-22 22:36:21 字數 1251 閱讀 3904

做空白窗體,根據需要篩選的字段設定控制項和子窗體,如圖:

上圖是水滸座次表篩選窗體,設定了兩個篩選字段,分別是「座次」和「姓名」。

設計思路是利用vba設定子窗體的資料來源屬性(recordsource),根據「座次」和「姓名」篩選出符合這兩個條件的資料顯示,其中「姓名」欄位要模糊查詢。

窗體中新增按鈕,按鈕的click事件上寫如下**:

private sub btncx_click()

dim str as string

str = 「」

if not isnull(me.座次) and isnull(me.姓名) then

str = "where [108將].[座次]=" & me.座次
elseif not isnull(me.姓名) and isnull(me.座次) then

str = "where [108將].[姓名] like '*" & me.姓名 & "*'"
elseif isnull(me.座次) and isnull(me.姓名) then

str = 「」

else

str = 「where [108將].[座次]=」 & me.座次 & "or [108將].[姓名] like 『" & me.姓名 & "』 "

end if

me.ctl108將_子窗體.form.recordsource = "select * from [108將] " & str

me.ctl108將_子窗體.form.requery

end sub

設計思想如下:

1、「座次」有內容,「姓名」為空時,**

str = 「where [108將].[座次]=」 & me.座次

因「座次」為數字型,用&連線即可。

2、「姓名」有內容,「座次」為空時,**

str = 「where [108將].[姓名] like 『" & me.姓名 & "』」

此處因「姓名」為文字型,所以需要使用變數引用所使用的 『「& 文字字段變數 & 」』 ,就是 單引號,雙引號,&,文字型變數,&,雙引號,單引號。

為了使用萬用字元實現模糊查詢,在單引號和雙引號之間加入*,有一點要注意,單引號、*、雙引號之間不能夠有空格。

ACCESS模糊查詢

原文 access模糊查詢出現的問題,開發中需要注意 在sql server中模糊查詢通常是這樣的select from articletable where authorname like jacky 但是在access中用這條語句執行的時候竟然發現查不出結果,怎麼可能呢?後來查了下資料,發現問題...

ACCESS模糊查詢

access模糊查詢出現的問題,開發中需要注意 在sql server中模糊查詢通常是這樣的select from articletable where authorname like jacky 但是在access中用這條語句執行的時候竟然發現查不出結果,怎麼可能呢?後來查了下資料,發現問題如下 ...

ACCESS模糊查詢

access模糊查詢出現的問題,開發中需要注意 在sql server中模糊查詢通常是這樣的select from articletable where authorname like 關鍵字 但是access的萬用字元和sql server的萬用字元不一樣。access資料庫內測試時的萬用字元為 ...