2012-05-10 48 views
0

我有一個查詢作爲表單的記錄源,對於查詢中的每一行都有一個鏈接表,其中有n行匹配該行,我想返回查詢中每行的列表框中的所有n個匹配行中的一個字段。我如何實現過濾器,查詢和鏈接表中的1字段之間應該有匹配?MS Access 2002爲記錄源查詢中的每一行創建查詢/表格

+0

您使用的數據表,單一的形式或連續形式?對於單個表單,這很容易,但是對於數據表和連續表單,這可能不是一個好主意。 – Fionnuala

+0

一個單一的形式.. – TWei

回答

0

您可以將列表框的行源設置爲一個sql字符串。例如:

SELECT ID, AText FROM Table1 WHERE ID = Forms!Form1!ID 

數據的存儲方式取決於綁定列和控制源。如果您不希望顯示匹配列,在這種情況下,您可以設置列寬。您應該將列數設置爲正確的列數。

Column Widths: 0;2.5 
Column Count: 2 

然後,您將不得不重新查詢當前事件的列表框:

Private Sub Form_Current() 
Me.List1.Requery 
End Sub 
+0

thx本來對我來說真的很慢。連續形式,這是我真正需要的,我該怎麼做?當您單擊當前表單(期望第一行)時,將首先觸發Current事件。組合框實例更新自己在這種情況下似乎不需要事件處理,textBoxes使用Me.txtBoxName = Replace(Me.txtBoxName,...)。在Access 2003中至少。 – TWei

+0

正如我在我的初步評論中所說的,這不是連續形式的好主意。以連續的形式,當前記錄總是突出顯示的記錄,這意味着突出顯示的記錄適用於所有可見記錄,這對用戶來說是令人困惑的。最好使用連接兩個表的合適查詢來顯示數據,然後提供一個按鈕或類似的用於編輯的數據。 – Fionnuala