2012-08-29 38 views
3

我有一個模式/彈出形式frmEditContact開放在激活不與我莫代爾/彈出窗口形式火重新查詢

這種形式有一個組合框詳細地址cmbAddressList的,通過查詢人口。 當用戶想要添加一個不存在的地址時,有一個按鈕打開frmAddress,他們可以在其中添加一個地址。

frmAddress允許他們輸入一個地址到列表中,並給出選項來保存或取消(這兩個動作關閉表單之後)。與此形成封閉的,重點是現在再次frmEditContact

我想以後,便閉上了其他形式的

我不知道哪裏來處理這個重新填充使用docmd.Requery cmbAddressList組合框,我已經試過On Avtivate,On Load,On Update,On Open,On Focus ...但是他們都沒有啓動,因爲當他們使用其他形式時,我保持frmEditContact處於打開狀態

是否有一種方法可以使frmEditContact始終保持打開狀態,但仍然是一個行動事件,將火災,使我可以Requery?並且在激活不適用於模態窗體?

回答

1

您可以從frmAddress重新查詢組合:

Forms!frmEditContact.cmbAddressList.Requery 

我建議你使用保存按鈕來運行重新查詢。

+0

這是一個很好的解決方法,但它沒有解決根本問題。令人失望的是Access在彈出窗口後不會觸發「On Activate」事件。 – StockB

1

在您的frmEditContact代碼中試試這個。

DoCmd.OpenForm "frmAddress", acNormal, WindowMode:=acDialog 
Me.cmbAddressList.Requery 

由於frmAddress對話框模式打開,下一行(Requery)將不會運行,直到frmAddress關閉後。

+0

+1,因爲這是一種有效的方法。它不如Remou's好,因爲每次frmAddress關閉時都會重新查詢,無論是「save」還是「cancel」。 –

+0

@DanielCook只要frmEditContact永遠是打開frmAddress的唯一形式,正如R建議的那樣,將控制參考硬連線到frmAddress,工作正常。但frmAddress聽起來像一個可能會從多種形式調用的。 – HansUp

+0

@HansUp你說得很好,雖然在這種情況下,frmAddress只能從frmEditContact打開。我將在未來保持對話模式,謝謝。 – Odesmere