我想實現一個搜索表單來對訪問表進行操作。Access中的搜索表單
但是當我選擇表格然後創建一個From時,我得到表格中的所有表格數據而不是搜索字段。當我改變任何值時,表格值會改變。我希望有一個文本字段,用戶可以在其中輸入搜索條件並點擊搜索btn,搜索結果以表格形式或作爲消息框出現。
我想實現一個搜索表單來對訪問表進行操作。Access中的搜索表單
但是當我選擇表格然後創建一個From時,我得到表格中的所有表格數據而不是搜索字段。當我改變任何值時,表格值會改變。我希望有一個文本字段,用戶可以在其中輸入搜索條件並點擊搜索btn,搜索結果以表格形式或作爲消息框出現。
您可以在搜索後將數據添加到表單中,但爲了保持整潔,您可能會考慮使用搜索框和結果的子表單來處理未綁定的表單。讓我們假設你有兩個箱子,改爲txtName和txtDate和搜索按鈕,然後一個非常粗略的想法可以運行:
strSQL = "SELECT aName, aDate FROM aTable WHERE 1=1 "
If Not IsNull(txtName) Then
strWHERE = " AND aName Like '*" & Replace(txtName,"'","''") & "*'"
End If
If Not IsNull(txtDate) Then
strWHERE = strWhere " AND aDate =#" & Format(txtdate,"yyyy/mm/dd") & "#"
End If
Me.SubformControlName.Form.RecordSource = strSQL & strWhere
你當然應該,確保在合理的和乾淨的控制數據和該記錄被返回。
您可以使用像這樣打開時把你的形式搜索模式:
Private Sub Form_Open(Cancel As Integer)
'DoCmd.DoMenuItem acFormBar, acRecordsMenu, acFilterByForm, , acMenuVer70
DoCmd.RunCommand acCmdFilterByForm
End Sub
DoMenuItem自從Access 2000以來已被棄用,恐怕。 – Fionnuala 2010-12-22 22:10:04
我有一個搜索表單創建的,我使用是非常方便的。爲了設置要搜索的表單,您需要創建一個搜索查詢。例如,我的表單具有字段:關鍵字和來源。因此,您需要將查詢鏈接到包含數據的表。我有的搜索查詢是
SELECT KWTable.KW AS Expr1, KWTable.Code, KWTable.Source
FROM KWTable
WHERE (((KWTable.KW) Like "*" & [Forms]![Search_Form]![KW_Text] & "*") AND ((KWTable.Source) Like "*" & [Forms]![Search_Form]![Source_Text] & "*"));
我在框中鍵入單詞並單擊一個按鈕執行。按鈕代碼看起來像
Private Sub Command8_Click()
On Error GoTo Err_Command8_Click
Dim stDocName As String
stDocName = "Search_Query"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Command8_Click:
Exit Sub
Err_Command8_Click:
MsgBox Err.Description
Resume Exit_Command8_Click
End Sub
我希望這可以幫助。
[這是什麼用途?](http://www.allenbrowne.com/ser-62.html) – 2013-07-23 19:47:36