我有一個相當簡單的外觀問題,但事實證明它比我想像的要複雜。在數據表視圖窗體(MS Access)中只需要一條記錄
我有一個字段(列)在我的subForm這是一個組合框。 我有一個字段(列)在另一個子窗體中,我想過濾這個組合框。
基本上,過濾之前的comboBox有大約600條記錄,太多的數據不能被臨時用戶滾動。我創建了一個簡單的子表單,其字段鏈接到一個mainForm,並且完美地工作(即所選的記錄字段ID顯示在mainForm上)。
現在我想要的是,這個組合框被這條記錄過濾(即只顯示相關的字段)。問題是,如果我用這個給定的過濾器簡單地Requery它,其他字段顯示空白。
我希望此過濾器僅適用於新記錄組合框,而不是整個數據表視圖。
我所做的是:
Private Sub Sekacie_Operacie_GotFocus()
Dim SQL As String
SQL = CurrentDb.QueryDefs("qrySekacie_Operacie").SQL
Me.Sekacie_Operacie.RowSource = Replace(SQL, ";", "") & " WHERE Sekacie_Operacie.Operacia_ID = " & Me.Parent.Form!txtOP_ID
Me.Sekacie_Operacie.Requery
'works kinda as intended
End Sub
Private Sub Form_AfterInsert()
Me.Sekacie_Operacie.RowSource = CurrentDb.QueryDefs("qrySekacie_Operacie").SQL
Me.Refresh
End Sub
當我在我的過濾器窗體中選擇記錄:
Private Sub Form_Current()
Dim SQL As String
SQL = CurrentDb.QueryDefs("qrySekacie_Operacie").SQL
With Me.Parent.Form.subSekacie_Operacie_Modelu
.Form!Sekacie_Operacie.RowSource = SQL
.Form.Refresh
End With
End Sub
然而,這種解決方法仍顯示「空白」的記錄,有時(我不得不刷新通過點擊不同的記錄),我覺得很奇怪,我不得不一路去做這件事。有沒有簡單的方法來完成這一點?