ODBC를 통해 SQLServer 2016에 연결하는 MS Access 2016을 실행 중입니다. 연결된 테이블을 기반으로하는 간단한 양식이 있습니다. 폼보기에서 표시하고 일부 데이터를 변경 한 후 다음 레코드를 클릭하면 현재 레코드가 업데이트되고 다음 레코드로 이동하지만 콤보 상자를 사용하여 이동할 레코드를 선택하면 레코드가 표시됩니다. 내가 선택한 일부 데이터를 변경하는 경우 - 오류를 반환합니다. 'ODBC - 링크 된 테이블의 업데이트가 실패했습니다. 마이크로 소프트 ODBC SQL 서버 드라이버 쿼리 제한 시간은 나는 2 개 개의 다른 콤보 상자 MS Access ODBC 레코드 저장시 제한 시간 초과 오류
Private Sub cboFindRecord_AfterUpdate()
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
rst.FindFirst "Id=" & Nz(Me.cboFindRecord, 0)
If Not rst.EOF Then
Me.Bookmark = rst.Bookmark
End If
rst.Close
Set rst = Nothing
End Sub
Private Sub FindRecord2_AfterUpdate()
Me.txtId.Enabled = True
Me.txtId.Locked = False
Me.txtId.SetFocus
If IsNull(Me.FindRecord2) Then
Exit Sub
End If
DoCmd.FindRecord Me.FindRecord2, acEntire, , acSearchAll, , acCurrent
End Sub
(나는 다른 형태에이 코드를위한 코드 아래에 설명 된 두 가지 방법을 시도 (# 0) '
만료 이 데이터베이스는 작동하지만이 양식의 경우이 테이블에는 해당되지 않습니다)
테이블에 500 개의 레코드가 있으며 시간 초과 문제가 아닌 블로킹 문제 인 것 같습니다. SQL Server에서 Sp_who2를 실행하면 프로세스 블록이 있음을 알 수 있습니다.하지만 왜 아무도 도와 줄 수 있습니까?
업데이트중인 테이블에 여러 개의 복잡한 인덱스가 있습니까? – Minty
기본 키를 포함하여이 테이블에 5 개의 인덱스가 있습니다. 기본 키를 제외한 모든 인덱스를 제거했지만 여전히 작동하지 않습니다 .- ( –
레코드 선택기를 사용하여 다음/이전 레코드로 이동하면 작동하지만 !! 코드화 된 콤보 상자를 사용하여 선택하지 않으면 SQL Server에서 다른 SPID를 생성하고 선택에 의해 업데이트가 차단 된 것으로 보입니다 –