2012-08-09 64 views
2

正如標題所說..我看到documentation on ADODB .Properties,但我不確定如何使用它。我需要暫時啓用執行忽略關鍵違規(也就是隻導入一個,因爲本機訪問查詢對警告(不需要警告))。不知道如何使用ADO.Properties(「部分批量操作」)

我已經試過

Set cnn = CurrentProject.Connection 
cnn.Properties("Jet OLEDB:Global Partial Bulk Ops") = 1 
cnn.BeginTrans 
' do my sql which works 
cnn.CommitTrans 

但是在​​它產生以下錯誤:

Read-only property value was not set

我有點我配不上這一個..沒有帶深入研究這些東西。

如果有人知道在不使用DoCmd的情況下忽略VBA中的這些關鍵違規的另一種方法,那也可以。

回答

1

這適用於我。

Dim cnn As ADODB.Connection 
Set cnn = New ADODB.Connection 

With cnn 
    .Provider = "Microsoft.ACE.OLEDB.12.0" 

    .Properties("Jet OLEDB:Global Partial Bulk Ops") = 1 
    .Open "z:\docs\test.accdb" 
End With 

我想象CurrentProject.Connection不起作用,因爲它是開放的cnn.state=adStateOpen

+0

我認爲你是對的;但是使用這種方法'數據庫已經被'XXXXX'上的用戶'XXX'置於狀態,以防止它被打開或鎖定。似乎無法從同一個數據庫打開兩個連接? – StuckAtWork 2012-08-09 13:42:39

+1

在當前訪問應用程序中關於ADODB的真正令人討厭的事情是,您必須在每次運行之前保存每一次。通常在代碼窗口中按Ctrl + s會做,但偶爾你只需退出並打開,但那可能就是我。 – Fionnuala 2012-08-09 13:43:37

+0

呃..不知我是否可能採取了錯誤的做法;也許我應該試試DoCmd呢?或者關閉部分限制的另一種方式?然而,你到目前爲止已經發現了你的答案。 – StuckAtWork 2012-08-09 13:49:00