2010-04-06 65 views
1

嗨,感謝您的閱讀。我不是一個數據庫/ vba的傢伙,我的經驗嚴格在JAVA世界。但是,我需要打開ACCESS表單。當它被打開並且新數據輸入到它時(通過底層查詢或其他表中的任何其他數據更改(基於附加到此表單上的按鈕的SQL更新),是否有一種方法可以啓動事務,以便在表單底部我可以有一個按鈕,顯示「退出並提交更改」或「取消和回滾更改」。MS Access - 保持表單打開時所有活動的跟蹤(transacation)

我猜我想到了一個情況,我可以這樣做:

  1. 表格打開,啓動交易

  • 在「單擊確定」,提交事務或打開「單擊取消」ROLLBACK。
  • 我知道如何做Workspace.BeginTransaction,但我不知道如果這將適用,如果我在FORM OPEN上執行它,然後在FORM CLOSE上執行COMMIT/ROLLBACK locgen?

    任何見識都會很棒。

    回答

    0

    假設您使用的是綁定控件,那麼換碼鍵會取消更改。因此,您需要自定義您的確定按鈕來關閉並保存,並且您的取消按鈕可以進行轉義和關閉。

    除此之外,選項並不好,因爲您必須使用未綁定的控件(自己加載值)。

    0

    ,我只是在想兩種不同的方法來實現你的想法:

    1. 其中之一是生成對應的SQL插入,更新和刪除的飛行指令和他們通過交易發送到服務器。我們已經實現了這樣的解決方案,創建本地/臨時表,跟蹤這些表上的更改,然後生成相應的SQL指令,以便在數據庫服務器上啓動。把這種解決方案放在軌道上是一個漫長的過程,並且僅僅爲了一種形式而思考它是沒有意義的。
    2. 另一種解決方案是通過ADODB連接連接到數據庫,然後可以管理斷開連接的記錄集,並選擇在客戶端上的數據準備上傳或放棄更改時繼續進行批量更新。如果我是你,我會去參加這個。