2012-09-04 67 views
0

StackOverflow中。我有一個我一直在努力解決的問題。目前,我有一個顯示聯盟數據的表單,並帶有一個按鈕,顯示「創建新聯盟」。當我點擊它時,它會顯示一個彈出窗口,允許您輸入名稱,如下圖所示。幾乎一切正常,但我創建它後無法顯示新記錄。看到我的代碼如下 - 你會感受到我想要做的事情。順便說一句,如果它很重要,「聯盟名稱」組合框允許您選擇記錄。我不知道它是如何拋棄我的更新的,但我想我應該包含這些信息。創建新記錄後,無法將表單顯示在Access 2010

這裏的形式:

My form

下面的代碼:

My code

有趣的是,StackOverflow上似乎並沒有使編輯後適當縮進代碼 - 我是能夠通過新的測試職位成功完成。好吧。我是一個菜鳥到這個問題,以及:

Private Sub CreateConsortiumButton_Click() 
    If IsNull(Me.ConsortiumNameText) Or Me.ConsortiumNameText = "" Then ''insert better validation here 
     MsgBox "Please enter a valid consortium name." 
    Else 
     '' Create a new Consortium record with the ConsortiumNameText field on the popup window 
     Dim rst As DAO.Recordset 
     Set rst = CurrentDb.OpenRecordset("Consortium") 
     rst.AddNew 
     rst("Consortium name").Value = Me.ConsortiumNameText 
     ConsortiumID = rst("ConsortiumID").Value 
     rst.Update 
     '' Now, create a corresponding record in the ResearchContributions table 
     Set rst = CurrentDb.OpenRecordset("ResearchContributions") 
     rst.AddNew 
     rst("ConsortiumID").Value = ConsortiumID 
     rst.Update 
     MsgBox "Consortium " & Me.ConsortiumNameText & " successfully created." 
     '' Change the form's combo box to reflect the new record 
     Forms!Main!NavigationSubform!ConsortiumNameCombobox = Me.ConsortiumNameText 
     '' Close popup 
     DoCmd.Close 
     '' Attempt to set the record on the main form to the newly created one - NOT WORKING! 
     DoCmd.OpenForm "Main", acNormal, , "[ConsortiumID] = " & ConsortiumID 
    End If 
End Sub 

我認爲這個問題的一部分,可能要做的事實,我已經放在了「財團表」的形式,這是基於一個標籤控制成「主」形式。也許是因爲我試圖用某個ConsortiumID打開表格,該ConsortiumID不適用於聯盟表格。看起來好像我不能把主人和孩子聯繫起來,但這在過去並不是必需的。如果這些概念聽起來含混不清,請原諒我,因爲這僅僅是因爲這些概念在我的腦海中仍然模糊不清 - 這是我的第一個Access項目。任何人有任何提示?

+0

代碼圖片的要點是什麼? – Fionnuala

+0

當我粘貼其他文字時,它沒有突出顯示。我覺得這樣會更具可讀性。如果你願意,我可以粘貼代碼。 –

+0

我做到了,但是在編輯之後它神祕地沒有正確縮進。當我創建新帖子時,它可以正確縮進。奇怪的。 –

回答

3

好的,我想我明白了。我已經添加以下代碼:

DoCmd.OpenForm "Main" 
DoCmd.Requery 
DoCmd.SearchForRecord , , acFirst, "[ConsortiumID] = " & ConsortiumID 

首先,打開窗體,然後在能夠註冊一個事實,即新產品在數據庫中重新查詢,然後使用SearchForRecord打開它。 NEATO。感謝大家。

相關問題