2010-01-14 149 views
0

我有表單顯示項目信息。表單上的大多數字段都綁定到一個Project表格,並以綁定字段的形式進行顯示和更新。但是,我也有10個來自ProjectAudience表格的複選框。只有在窗體上的框被選中時,表中是否有匹配的記錄。因此,我需要插入和刪除記錄,因爲這些框被選中或取消選中。表單發生變化時觸發的事件

我可以在AfterUpdate事件的複選框級別執行此操作,但這需要10個不同的事件。我希望通過刪除ProjectAudience表中該項目的所有記錄並添加選中的項目來實現。

基本上,我正在尋找Form_Current事件的相反情況,當記錄導航按鈕被觸發或窗體關閉時將觸發該事件。我試圖避免寫我自己的導航按鈕或添加一個「保存」按鈕到用戶必須按下的窗體。我想要一些自動更新此表時,用戶導航離開記錄。

基於以下評論:任何組合框從無到全都可以被檢查而不僅僅是一個盒子。因此,我可能會清除所有記錄,並且不會再插入任何文件...或者如果每個文件夾都被檢查,則可以添加10條記錄。 (另外,我正在使用Microsoft Access 2003)

回答

1

您是否考慮過將這些複選框添加到選項組並使用該組中的事件?

編輯重新評論,替代方法,不要使用選項組,但將代碼添加到所有相關選項的事件行。

你並不需要爲10周不同的活動代碼,您可以設置,比如事件行,在點擊一個函數的名稱,讓我們說:

On Click : =TestMe() 

Event Line http://ltd.remou.com/access/EventLine.png

你那麼需要一個功能:

Function TestMe() 
    MsgBox "You clicked " & Screen.ActiveControl.Name 
End Function 
+0

我可能編寫了不正確的組,但是當我嘗試它時,我一次只能檢查1個框。在上面的情況下(我將編輯我的原始文章),檢查每個箱子的組合從一個到全部都是可能的。所以可以有任何從0到10的記錄。 – 2010-01-14 17:28:16

+0

我已經添加了一條記錄。 – Fionnuala 2010-01-14 17:50:30

+0

但是,如果我將10個複選框放在選項組中,那麼我只能選擇10個框中的1個。我需要能夠檢查多達10個盒子。在這一點上這不是一個事件問題,選項組不會讓我多選。 – 2010-01-14 18:36:19

0

您可以使用BeforeUpdate方法。但是,如果只有複選框已被更改,則此事件不會觸發,因爲表單所綁定的記錄不會更改。

我會建議將事件鏈接到複選框。創建一個函數UpdateCheckbox(CheckboxID as integer),它可以做你想做的事,並將它放在ckeckboxes的'OnClick'事件中:= UpdateCheckbox(1)。更改不同複選框的1。

相關問題