在MS Access中,我創建了一個主表單和一個子表單並且處於一對多關係的數據庫,然後我在主表單上創建了一個搜索框,應該能夠在兩個主要和子形式的領域進行搜索,我可以做到這一點。現在,當我搜索表單時顯示搜索到的記錄,但問題是我的主窗體上的主窗體控件(保存,新建,刪除,下一個,上一個等)的非運行正在運行。 這將是我的榮幸,引導我在這個問題上...謝謝,搜索在我的MS Access表格中創建問題
回答
重新導航
根據您使用搜索的方法,你將不能夠向前或向後導航。如果您想要前後導航,則需要指定搜索範圍。例如,而不是用ID 123搜索一個記錄,您將需要搜索的記錄,即一個範圍,ID 123和ID之間234
重新保存
你並不需要明確保存綁定表單上的記錄(直接綁定到記錄源的表單)。您只需更改數據,然後繼續。一旦你繼續,你的數據將被保存 - 只要不違反表約束。
重新搜索
當您在訪問主窗體/子窗體,在2種形式通過兒童/主屬性相關。因此,如果您在主窗體中搜索特定記錄,則通常不需要擔心篩選子窗體。使用類似於您在評論中有這將是一個方法:
dim qry As String
qry = "select parenttbl.* from parenttbl where parenttbl.id=" & Me.mysearchbox.text &";"
Me.RecordSource = qry
通過在原來的代碼加入子表,你可能混淆訪問救能力,但我對此表示懷疑。我沒有測試它,但我不認爲在更改記錄源後需要將filteron屬性設置爲true。見filteron是如何使用在這個崗位由艾倫·布朗http://allenbrowne.com/ser-28.html
重新FilterOn 雖這麼說,你也許可以調整自己的使用filteron屬性設置爲「搜索」爲您所需的記錄,那麼你或許可以打開filteron屬性設置爲False,然後在記錄集中向前和向後導航。我沒有測試它。
編輯:下面是一個例子,當到FilterOn屬性設置爲false:
Me.FilterOn = False
DoCmd.GoToRecord , , acNext
對於這個工作,你需要指定SQL查詢的ORDER BY
條款,您的主要形式是必然。否則,您可能無法以您期望的方式向後和向前導航。
我只是簡單地做了兩件事來過濾基於它的父母的ID,它的工作太多,但現在,當我去,點擊**下一步**按鈕,它不會帶來下一個記錄1.我在我的搜索框:'Me.Filter =「ID =」「」&Me.mySearchBox&「」「」 Me.FilterOn = True ' 和2.我在下一個nevigation按鈕中做了什麼:'DoCmd.GoToRecord,, acNext'我只是認爲至少它應該是工作,然後我會看到與其他選項。 – Nabalad 2012-02-27 07:51:23
請參閱我答案底部的編輯。另外,我更改了我爲更改記錄源而編寫的示例代碼,以顯示聲明變量的正確方法。變量'qry'是您聲明它的方式* Variant *。順便說一句,你不需要一個變量來做到這一點。您可以直接將字符串傳遞給'me.recordsource' – gangreen 2012-02-28 01:22:19
我是否回答您的問題?我注意到你在這個網站上提出了幾個問題,但沒有把一個問題標記爲「回答」。 – gangreen 2012-02-29 01:11:33
- 1. 從表格MS Access創建表格
- 2. 在Access 2010中構建搜索表格
- 3. 我的表中的MS Access 2013表單元格創建choicebox
- 4. SQL在Access中創建表的問題
- 5. 在MS-ACCESS中創建交互式多字段搜索欄
- 6. 使用COUNT ms-access創建表格
- 7. MS Access表格過濾器問題
- 8. 檢索MS ACCESS中的所有表格
- 9. 如何在ms-access中構建搜索表單
- 10. 在MS Access中創建「Winform」
- 11. 在MS Access中創建秒錶
- 12. 在MS-Access中創建條件表
- 13. 在Access中創建搜索框
- 14. MS Access VBA無法在Excel中創建新的表格對象
- 15. VB.NET搜索與MS Access搜索
- 16. MS Access 2003使用SoundEx從表格中搜索
- 17. MS Access限制表格/表格訪問
- 18. MS Access 2010中的問題
- 19. 無法在MS Access中創建空白表格
- 20. MS Access中的子表格
- 21. 適用於大型數據庫的MS Access搜索表格
- 22. MS Access VBA問題
- 23. ms access access關閉表格
- 24. MS Access子表格
- 25. 的MS Access查詢創建多個表
- 26. 創建XML的MS Access
- 27. 如何創建按鈕以在MS Access中搜索數據庫列名稱?
- 28. PHP/MS Access的問題
- 29. 的MS Access問題 - 運行
- 30. 的MS Access - 速度問題
需要更多信息 - 您的搜索框使用什麼方法?這聽起來像是搜索框將記錄集下的主要表格過濾爲一條記錄。所以,不能向前或向後導航是正常的。就新記錄而言,這可能是一些事情。您的主窗體設置可能被設置爲不允許添加,或者您可以將底層記錄集更改爲只讀等。 – gangreen 2012-02-27 05:47:37
在搜索框的更新方法後,我完成了以下三行查詢: 1.dim qry =「select parenttbl 。*,childtbl。*來自parenttbl內部連接cildtbl,位於parenttbl.id = childtbl.fid,其中parenttbl.id =「&Me.mysearchbox.text&」;「 2.Me.RecordSource = qry 3.Me.FilterOn = True – Nabalad 2012-02-27 06:08:30
是否有理由改變主窗體上的記錄源以包含子表?如果您的mainform /子表單中的子/主屬性設置正確,則只需要篩選主窗體上的記錄。從你的過濾器中刪除childtbl,看看是否會影響你的保存能力。 – gangreen 2012-02-27 06:19:33