문제

Microsoft Access 2003 ADP가 있는데, 이는 여러 바운드 연속 스타일 하위 형태의 바운드 "메인"양식을 사용합니다. 그들은 모두 도우미 클래스를 통해 연결이 끊긴 레코드 세트를 사용합니다.

몇몇 사용자는 동일한 이상한 동작을 발견했습니다. 연속 하위 형태의 레코드를 추가/편집하고 레코드를 남겨두고 (레코드 세트에 편집을 커밋) 컴퓨터 (CTRL+Alt+DE)를 잠그고 컴퓨터를 잠금 해제하고 잠금을 해제합니다. 그들은 약 5 초 후에 튕겨서 원래의 편집되지 않은 상태로 되돌아갑니다.

위의 단계에 따라이 단계를 재현 할 수 있었으며, 내 양식을 변경하고 연결이 끊어진 레코드 세트에 묶인 후 SQL Server로 가서 값을 변경했습니다. 잠금/잠금 해제 컴퓨터 루틴 후에는 양식이 플리커와 새로 고침되며 SQL Server에 방금 입력 한 새 값이 나타납니다.

마치 약 5 초 후에 연결이 끊어진 레코드 세트가 다시 연결되어 (자체) 레코드 세트를 재입고합니다.

나는 여기에 많은 정보를 제공하지 않는다는 것을 알고 있지만, 연결이 끊긴 레코드 세트를 다시 연결하고 재 시도하는 문제를 겪은 사람이 있습니까? 아니면 적어도 디버깅을 시작할 수있는 곳에 대한 아이디어가 있습니까?

누군가가 자신의 환경에서 이것을 재현하려면 데이터베이스를 만들기 위해 ADP 및 SQL 스크립트가 있습니다.

연결 해제 된 레코드 세트를 만드는 방법은 다음과 같습니다.

Dim cnn                 As ADODB.Connection
Dim stmTest             As ADODB.Stream

Set cnn = New ADODB.Connection
cnn.Open Application.CurrentProject.AccessConnection.ConnectionString

' Create recordset and disconnect it.
Set mrsTest = New ADODB.Recordset
mrsTest.CursorLocation = adUseClient
mrsTest.Open "SELECT * FROM [tblChild] WHERE ParentID = 1" _
    , cnn _
    , adOpenStatic, adLockBatchOptimistic
Set mrsTest.ActiveConnection = Nothing

cnn.Close
Set cnn = Nothing

' Copy recordset to stream in memory.
Set stmTest = New ADODB.Stream
stmTest.Open
mrsTest.Save stmTest, adPersistADTG

' Bind form to disconnected recordset.
Set Me.Recordset = mrsTest

' Open a copy of the recordset from the stream.
Set mrsTest = New ADODB.Recordset
stmTest.Position = 0
mrsTest.Open stmTest
도움이 되었습니까?

해결책

여러 사용자 시스템에서 테이블이 잠겨 있지 않고 처리 (저장 및 취소 버튼)와 같은 트랜잭션을 원했습니다. 작업에 액세스 할 수있는 지속적인 형태의 경우 레코드 세트에 묶여 있어야합니다.

임시 테이블에 바인딩 된 양식/하위 형태를 사용 하여이 효과 만 달성 할 수 있습니다.

http://www.access-programmers.co.uk/forums/showthread.php?t=206862

스티브

다른 팁

아마도 약간의 비공식적이지만 이것은 흥미로운 코드입니다. 나는 이와 같은 데이터 세트 작업에 대해 생각하지 않았습니다. 이 '연결이 끊어진 데이터 세트'를 사용하는 특별한 이유가 있습니까?

나도 같은 코드를 한동안 실험했고 같은 경험을 가지고있었습니다.

레코드 세트가 서버에 다시 연결되는 이유를 알 수 있습니다 ...

양식의 레코드 소스를 확인하면 (레코드 세트를 바인딩 한 후) SQL 문을 값으로 표시합니다. ADP이기 때문에 양식은 항상 서버에 묶여 있습니다. 따라서 양식이 새로 고침되면 레코드 세트도 새로 고침됩니다.

이것에 대한 해결책을 찾으면 게시하십시오!

고맙습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top