做空白窗體,根據需要篩選的字段設定控制項和子窗體,如圖:
上圖是水滸座次表篩選窗體,設定了兩個篩選字段,分別是「座次」和「姓名」。
設計思路是利用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資料庫內測試時的萬用字元為 ...