2011-08-23 3 views
0

연결이 끊어진 ADO 레코드 집합에 바인딩 된 데이터 시트 폼을 테스트하고 있습니다. 어떤 레코드의 일부를 편집 할 때 업데이트가 발생하면 다음과 같은 오류 메시지가 나타납니다.연결이 끊긴 ADO 레코드가있는 액세스 오류

"데이터가 데이터베이스에 추가되었지만 데이터가 형식으로 표시되지 않습니다 기본 레코드 소스의 기준. "

클라이언트 측 커서는 레코드 집합을 연결 해제하고 유지할 수있는 유일한 방법이기 때문에 사용하고 있습니다. 또한 업데이트가 발생하는 동안 연결을 다시 설정 한 다음 나중에 다시 연결하는 코드가 있습니다.

트리거 나 저장 프로 시저를 사용하고 있지 않습니다. Windows XP SP3에서 SQL Server 2008 Express 및 Access 2007 (모든 업데이트가 설치됨)을 사용하고 있습니다. ActiveX Data Objects 2.8을 사용하고 있습니다.

이 문서를 발견하고 핫픽스를 설치했습니다. 컴퓨터를 재부팅했지만 문제가 계속됩니다. http://support.microsoft.com/kb/961451

아이디어가 있으십니까?

EDIT1 :
코드 예제 : 나는 만족스러운 해결 방법을 찾을 것 같은

'rst is a form level variable (ADO Recordset Object) 
With rst 
    Set .ActiveConnection = gCon 'Global ADO Connection Object 
    .Source = "SELECT i.*, c.lft FROM tblInventory AS i LEFT JOIN tblCat AS c ON i.catid = c.catid" 
    .LockType = adLockPessimistic 
    .CursorType = adOpenDynamic 
    .Open 
End With 

Set Me.Recordset = rst 
Me.UniqueTable = "tblInventory" 
rst.ActiveConnection = Nothing 
gCon.Close 

답변

0

보인다. 이것은 ASPAlliance에서 가져온 것입니다.

이렇게하려면 디자인보기에서 Form의 ResyncCommand 속성을 SQL 문으로 설정해야합니다. 예를 들어

: 재 동기화 명령 :

Select * From tblName where FieldName = ? 

행 원본이 여러 테이블과 저장 프로 시저가 함께 다음 양식의 재 동기화 명령 속성이 SQL 문으로 설정해야합니다 합류가 포함되어있는 경우 그 선택 저장 프로 시저와 동일한 필드를 사용하고 고유 테이블로 지정된 테이블의 기본 키를 매개 변수화하십시오.

관련 문제