2013-03-22 110 views
0

我們有一個數據庫設置了一個主要客戶端詳細信息表單 - 在這裏有幾個與客戶端訪問的服務有關的子表單。我們無法搜索子表單字段的整體性,因爲它只是通過鏈接搜索單個客戶機的記錄。搜索子表格

什麼是最好的搜索方式?我想在配電盤上可能有一個搜索選項,點擊後允許用戶選擇一個表格,然後自行打開該表格。我將如何做到這一點?

謝謝。

回答

0

我經常爲我的許多表格添加「子表單過濾器」。它通常是一個按鈕,彈出一個對話框,其中包含「搜索字段」下拉菜單和搜索字符串的文本框。假設你有一個父表[學生]:有一個相關的子表[大獎]:

[StudentID]數字(長整型)
[AwardName]文本(255)

主要學生的形式可以有一個顯示學生獲得的獎項。如果你想過濾的學生檔案,以顯示「數學獎」,那麼過濾器的接收方申請的[學生]表將

[StudentID] IN (SELECT [StudentID] FROM [Awards] WHERE [AwardName]="Math Prize") 

對於字符串搜索,找到的運動員」的所有收件人周」,‘年度最佳女運動員’等等,你可以構建一個過濾字符串像

[StudentID] IN (SELECT [StudentID] FROM [Awards] WHERE [AwardName] LIKE "*athlete*") 
+0

嗯,大部分時間只子窗體在他們一個記錄爲每個客戶往往只訪問服務一旦。在子表單中有一個需要搜索的數字字段,但如果用戶不在具有該數字的客戶記錄上,則表示沒有結果 - 您的解決方案是否可以解決此問題? – 2013-03-22 14:45:10

+0

是的,這樣做仍然有效,它只會在篩選字符串中的SELECT查詢中使用稍微不同的WHERE子句。說獎表有一個額外的專欄[TimesAwarded],你想篩選學生記錄顯示重複贏家,你可以說'[StudentID] IN(SELECT [StudentID] FROM [獎勵] WHERE [TimesAwarded]> 1)' – 2013-03-22 15:00:46

+0

ok , 謝謝!我怎麼能在子窗體上放一個「搜索」按鈕,然後彈出詢問他們想要搜索哪個字段? – 2013-03-22 15:53:55