2012-02-21 20 views
1

我有一個帶有幾個綁定字段和一些「自定義」複選框的表單,它爲每個vba設置值。當我現在用'DoCmd.GoToRecord,acNewRec'開始一條新記錄時,Access將清除我的表單,但不會創建一個新的ID,直到將值輸入到其中一個綁定字段中。由於我的複選框字段沒有綁定,所以在編輯綁定字段之前的任何更改都不會被保存。我嘗試通過sql語句添加值,但是在我更改另一個字段,指出當前記錄集已更改後,訪問會引發錯誤,因此我懷疑這是要走的路。如何強制訪問以開始新記錄

我的表單基於查詢和女巫vba我設置複選框,如[value_x] = true(當我第一次輸入數據到一個綁定的字段,從而創建一個新的記錄時,它工作正常)。

(另一種方式來避免,這將是在onload事件的值時設置任何綁定字段事後刪除的價值。但是,這不是很乾淨,我想..)

+1

這是通過設計......如果您想在此提前強制使用新的ID,則需要執行創建/編輯循環。爲什麼你的複選框沒有綁定? – 2012-02-21 23:52:00

+0

正常的複選框對於我的編程器來說很小,所以我使用labelfields和onclick事件以及裏面的'X'。他們看起來更好,可以更大,但不能被束縛(據我所知?)。我知道activex複選框可調整大小,但我還沒有測試過它們。 – Christian 2012-02-22 00:02:24

+1

我之前解決了這個問題,但我不再有權訪問原始代碼。我相信我所做的是將一個'OnClick'事件連接到我的自定義複選框,並用它來更改綁定到底層記錄集的隱藏複選框的值。 – 2012-02-22 00:04:44

回答

1

測試幾種方法後我發現我早先所說的想法是最簡單的方法。這意味着我在form_load事件中設置了綁定字段的值,並在需要時使用me.dirty。

當然,我必須刪除空的記錄集(如果有人只打開和關閉表單),但這可以很容易地處理。

另一個偉大的想法是羅伯特哈維給我的。他建議將點擊事件添加到我的未綁定自定義複選框中,並使用它來更改隱藏邊界複選框字段,這也很有用。