2010-01-12 98 views
1

我有3個表毫秒的存取組合框刷新

章(ID,姓名) 標題(ID,姓名,parentId的) 副標題(ID,姓名,parentId的)

父母的ID上面的表格。

我有3個組合框

章 標題 副標題的形式。

我有用於章節和標題的onchange的vba。此代碼工作正常:

 
Private Sub Chapter_AfterUpdate() 
Me.Heading.RowSource = "SELECT [Headings].[ID], [Headings].[Headings], [Headings].[Parent] FROM Headings WHERE [Headings].[Parent] =" & Me.Chapter & " ORDER BY [Headings];" 
Me.Heading.Requery 
End Sub 


Private Sub Heading_AfterUpdate() 
Me.Subheading.RowSource = "SELECT [Subheadings].[ID], [Subheadings].[SubHeading], [Subheadings].[Parent] FROM Subheadings WHERE [Subheadings].[Parent] =" & Me.Heading.Value & " ORDER BY [SubHeading];" 
Me.Subheading.Requery 
End Sub 

上述工作正常,並且窗體正確地將信息保存到新表中。

但是...

當我打開窗體新鮮(關閉訪問後),章看來裝入組合,但標題和副標題沒有。儘管如此,如果我點擊vba運行的章節,表中當前保存的記錄顯示了正確的子值。和小標題相同。

我沒有收到任何數據丟失,但我無法使組合框顯示保存的數據在全新打開。

即使是新鮮的表格。

任何幫助將非常感謝。

+0

設置行源之後重新請求是多餘的 - 您只需要分配rowsource。 – 2010-01-12 23:05:06

回答

2

將標題和副標題的更新代碼放入表單的當前事件以及After Update事件中。

+0

更好的是,爲每個行源分配創建一個子例程,並從AfterUpdate和OnCurrent中調用該子例程。 – 2010-01-12 23:06:21