2012-08-09 2 views
2

제목에 .. documentation on ADODB .Properties이 표시되어 있지만 사용 방법을 잘 모르겠습니다. 일시적으로 Execute가 키 위반을 무시하도록해야합니다 (네이티브 액세스 쿼리가 경고 (경고 불필요)와 함께 수행하므로 일명 가져 오기 만 가능).잘 모르겠 음 ADO. 속성 ("부분 대량 작업")을 사용하는 방법

내가 cnn.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

내가이 일에 내 리그의 밖으로 작은이야을 .. havn't는 전에이 물건을 탐구 했어.

누구나 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

나는 당신이 옳은 것 같아요; 그러나이 방법을 사용하면 '컴퓨터가 열리거나 잠기는 것을 방지하는'XXXXXX '컴퓨터에서 사용자'XXX '이 (가) 데이터베이스를 상태로 전환했습니다. 동일한 데이터베이스에서 두 개의 연결을 열 수없는 것 같습니다. – StuckAtWork

+1

현재 액세스 응용 프로그램에서 ADODB에 관한 정말 짜증나는 일은 실행하기 전에 매번 저장해야한다는 것입니다. 보통 Ctrl + s를 코드 창에서 할 수 있지만 가끔은 그냥 종료하고 열어야하지만 그게 나일지도 몰라. – Fionnuala

+0

어 ... 어쩌면 내가이 문제에 대해 잘못된 접근을하고 있는지 궁금해. 어쩌면 대신 DoCmd를 시도해야합니까? 또는 부분 제한을 해제하는 또 다른 방법은 무엇입니까? 그러나 당신은 당신의 대답으로 지금까지 자리를 잡았습니다. – StuckAtWork

관련 문제