2012-12-05 66 views
1

我試圖將多個表綁定在一起,並有一個子窗體顯示基於我的組合框(ID名= CbproductName)選擇名爲Form2的窗體中的數據。我正在使用Ms office Access。如何根據組合框選擇使子窗體顯示數據?

這是查詢

SELECT Employee.EmpName, Employee.EmpCode, Employee.CompanyID, Employee.DeptID, 
     Employee.ComputerID, Software.ProductName 
    FROM Software 
     INNER JOIN (
      (
       Computer INNER JOIN Employee ON Computer.CompID = Employee.ComputerID) 
       INNER JOIN Application ON Computer.ComputerName=Application.[A-ComputerID] 
      ) 
     ON Software.ID = Application.SoftwareID 
WHERE Application.SoftwareID = Form2.CbProductName; 

但是它不斷提醒我,當我運行的形式輸入參數值,並且不顯示輸入值的結果。它也不會根據組合框的選擇而改變。 有人可以指出我的方向來完成它嗎?

回答

2

在查詢中,通過其名稱引用表單作爲Forms集合的成員。然後使用控件名稱在該窗體上引用控件的值。它應該是這樣的模式:

Forms!FormName!ControlName 

在您的查詢中,Where條款改成這樣:

WHERE Application.SoftwareID = Forms!Form2!CbProductName; 

然後確保以刷新查詢中的CbProductName更新事件之後。您指定的查詢被用作子窗體的記錄源,所以假設子窗體控件是一樣的形式組合框上,試圖以此爲更新後的程序:

Private Sub CbProductName_AfterUpdate() 
    Me!SubformControlName.Form.Requery 
End Sub 

當心,子窗體控件名稱可能與其包含的表單名稱不同。請確保您使用控件的名稱。

+0

非常感謝你。它完全解決了我的問題。 這真的減輕了我的工作量。 :D(Y) – Tyler

相關問題