ACC2000: 연결된 SQL Server 테이블에 새 행 사라진다 또는 마지막 레코드 중복된 것으로 나타난다

기술 자료 번역 기술 자료 번역
기술 자료: 251289 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
보통: 기본적인 매크로, 코드 작성 및 상호 운용성 기술이 필요합니다.

이 문서에서는 경우에만 Access 데이터베이스를 수 (.mdb) 적용됩니다.

모두 확대 | 모두 축소

이 페이지에서

현상

연결된 Microsoft SQL Server 테이블에 새 레코드를 추가하고 다른 레코드로 이동할 때 다음 현상 중 하나가 나타날 수 있습니다.
테이블에 새 레코드의 일부를 입력한 후 다음 새 레코드로 이동하려면 Tab 키를 눌러, 완전한 새 레코드를 테이블에 입력한 다음 기존 레코드로 이동하면 disappears.When 방금 입력한 레코드, 새 레코드의 일부만 테이블에 입력한 다음 해당 레코드를 있는 기존 레코드, 새 레코드 이동합니다 disappears.When 입력된 레코드를 사라지고 테이블의 마지막 레코드를 양식에서 레코드 일부를 입력한 다음 레코드를 그대로 duplicated.When 것 입력한 정보가 사라집니다.
중요: 데이터 실제로 손실되지 않습니다. 레코드를 다시 추가하려면 마십시오; 존재하지 않습니다. 명백한 중복 레코드를 삭제하지 마십시오. 이를 삭제하여 중복될 수 보이는 원래 레코드를 삭제할 방금 레코드를 추가했습니다.

원인

레코드를 추가하려고 할 때 SQL Server 테이블에 ID 열이 있는 경우 사용자가 대신 이전 레코드가 중복된 것으로 나타나는 내용을 참조하십시오. 레코드 집합을 새로 고칠 때까지 새 레코드에 올바른 데이터가 표시되지 않습니다. 이 문제는 Access SQL Server 데이터베이스에 다시 쿼리해야 방법은 관련이 있습니다.

해결 방법

이 문제를 해결하려면 최신 Microsoft Jet 4.0 서비스 팩 업데이트를 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
239114방법: Microsoft Jet 4.0 데이터베이스 엔진의 최신 서비스 팩을 구하는합니다
이 문제를 해결하려면 다음 세 가지 방법 중 하나를 사용하십시오.

Access 프로젝트 사용

대신 Access 데이터베이스를 Access 프로젝트에서 사용할 수 있습니다. Access 프로젝트를 사용하여 SQL Server 데이터베이스에 연결 테이블이 연결되어 있이 필요가 없습니다.

Access 데이터베이스를 Access 프로젝트를 변환하는 방법에 대한 자세한 내용은 Microsoft 기술 자료 문서를 보려면 해당 자료의 문서를 참조하십시오.
241743ACC2000: "Access 2000 업사이징 도구" 백서 사용 가능한 다운로드 센터에서
250616ACC2000: Access 데이터베이스에서 SQL Server 데이터베이스의 데이터 내보내기 위해 DTS 사용 방법

Access 데이터베이스에서 양식 사용

양식에서 이 동작이 발생할 경우 Microsoft VBA BeforeInsert 및 AfterInsert 이벤트 코드를 자동으로 데이터를 다시 쿼리, 폼을 새로 추가된 레코드로 이동할 수 있습니다. 아래 예제 코드를 사용하여 폼의 레코드를 자동으로 새로 고치려면 이벤트를 추가할 수 있습니다.

참고: 이 메서드를 사용하여 사용자가 해제 새 레코드를 두 번 이동해야 할 경우 나타날 수 있습니다. 즉, 새 레코드를 추가하고 Tab 키 또는 다른 새 레코드 추가 또는 이전 레코드로 이동하면 레코드 탐색 단추 중 하나를 누를 때 레코드 탐색 단추를 두 번 눌러 해당 레코드를 가져올 수 있습니다. 폼을 닫으면 영향을 주지 않습니다.
Option Compare Database
Option Explicit

Dim mfRequery As Boolean

Private Sub Form_AfterInsert()

    If mfRequery = True Then
        ' If the variable indicates a Requery
        ' is needed, Requery the form.
        Me.Requery
        ' Move back to the record that was just added
        DoCmd.GoToRecord acDataForm, Me.Name, acLast
        mfRequery = False
    End If

End Sub

Private Sub Form_BeforeInsert(Cancel As Integer)

    If Me.NewRecord = True Then
        ' If this is a new record, set a variable
        ' to indicate the need to Requery.
        mfRequery = True
    End If
    
End Sub
				

MDB 테이블 사용

이 동작을 테이블에 표시되면 있습니다 수동으로 테이블을 사용해야 또는 닫고 테이블을.

현재 상태

Microsoft 문제는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다. ? 이 문제는 최신 Microsoft Jet 4.0 서비스 팩에서 수정되었습니다.

추가 정보

문제를 재현하기 위한 단계

  1. Northwind.mdb 예제 데이터베이스를 엽니다.
  2. 기존 SQL Server 데이터베이스에 Orders 테이블을 내보냅니다. OrdersTest 이름을 지정합니다.
  3. 새 Access 데이터베이스를 만듭니다.
  4. SQL Server에 내보낸 OrdersTest 테이블에 새 연결된 테이블이 새 데이터베이스를 만듭니다.
  5. 연결하는 후, 테이블을 엽니다.
  6. 아래로 마지막 레코드로 스크롤하십시오.
  7. 새 레코드 명령줄에서 새 레코드를 입력하십시오.
  8. 모든 데이터를 입력한 후 새 레코드 밖으로 커서를 이동하려면 위쪽 화살표 키를 누릅니다.
  9. 새 레코드가 더 이상 표시되지 않지만 마지막 레코드를 두 번 참조하십시오.
  10. 레코드 메뉴에서 Requery 를 클릭하십시오. 중복된 사라진 것을 확인할 수 있습니다.

속성

기술 자료: 251289 - 마지막 검토: 2014년 1월 29일 수요일 - 수정: 2.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Access 2000 Standard Edition
키워드:?
kbnosurvey kbarchive kbmt kbpending kbprb KB251289 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com