Access / SQL에서 레코드 문제 편집 (쓰기 충돌)


Answers

이 문제는 원래의 포스터와 동일합니다. 양식을 사용하지 않고 직접 편집 할 수도 있습니다. 문제는 비트 필드에 있습니다. 필드가 Null이면 레코드에 액세스 할 때 Null을 0으로 변환 한 다음 이번에는 두 번째 변경 사항을 변경합니다. 따라서 2 개의 변경 사항이 충돌합니다. 나는 Olivier의 제안을 따랐다 :

"테이블에 기본 키와 타임 스탬프 열 이 있는지 확인하십시오."

그리고 그 문제를 해결했습니다.

Question

사용 된 SQL DB를 새 서버로 마이그레이션 한 후에 문제가 발생했습니다. 이제 Access (양식 또는 표)에서 레코드를 편집하려고 할 때 다음과 같이 표시됩니다. WRITE CONFLICT: This record has been changed by another user since you started editing it...

이에 대한 명확하지 않은 이유가 있습니까? 서버를 사용하는 아무도 없습니다. 테이블에서 트리거를 비활성화했습니다. 난 그게 아무 상관없는 레코드로 NULLs와 함께 할 수있는 뭔가를 발견했습니다,하지만 NULL을 가지고 일부 행은 아닙니다. 인덱스와 관련이있을 수 있습니까? 관련성이있는 경우 최근에 Access에서 INSERT INTO를 사용하여 한 번에 하나씩 업로드하는 대신 BULK 업로드를 매일 시작했습니다.




이것은 Microsoft의 버그입니다.

이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.

  • 다중 테이블보기를 기반으로하는 폼 업데이트 "현상"절에서 언급 한 오류 메시지의 첫 번째 발생시 클립 보드로 복사 또는 쓰기 충돌 대화 상자에서 변경 내용 삭제를 클릭해야합니다. "현상"절에서 언급 한 오류 메시지가 반복적으로 발생하지 않도록하려면 다음을 수행하십시오.
    섹션에서 편집하기 전에 폼의 레코드 집합을 업데이트해야합니다
    다시 같은 기록. 슬라이드 노트 Access 2003 또는 Access 2002에서 폼을 업데이트하려면 레코드 메뉴에서 새로 고침을 클릭하십시오. Access 2007에서 양식을 업데이트하려면 홈 탭의 레코드 그룹에서 모두 새로 고침을 클릭하십시오.

  • 연결된 하위 폼이있는 주 폼 사용 "현상"절에서 설명한 오류 메시지가 반복적으로 나타나는 것을 방지하려면 다음과 같은 기본 폼을 사용할 수 있습니다.
    관련 하위 테이블에 데이터를 입력합니다. 입력 할 수 있습니다.
    다중 테이블보기를 기반으로하는 양식을 사용하지 않고 한 위치에서 두 테이블의 레코드. 연결된 하위 폼이있는 기본 폼을 만들려면 다음과 같이하십시오.

    다중 테이블보기에서 사용되는 관련 (자식) 테이블을 기반으로 새 폼을 만듭니다. 양식에 필수 필드를 포함하십시오. 양식을 저장하고 양식을 닫습니다. 다중 테이블보기에서 사용되는 기본 테이블을 기반으로 새 폼을 만듭니다. 필수 입력란을
    형태. 데이터베이스 창에서 2 단계에서 저장 한 양식을 기본 폼에 추가하십시오.

    하위 폼이 만들어집니다. 하위 필드 링크 속성을 하위 필드의 링크 마스터 필드 속성을 필드 또는 필드 이름을 설정하십시오.
    테이블을 연결하는 데 사용됩니다.

Microsoft 지원 에서 가져온 해결 방법




링크 된 테이블을 사용하는 경우, 이들을 갱신했는지 확인하고 다른 작업을 수행하기 전에 재 시도하십시오.

나는 그 (것)들을 새롭게했었다 그러나 누군가가 150의 chars를 허용하기 위하여 모양 타당성 입증 및 SQL 테이블을 새롭게했었다 것을, 그러나 연결 한 테이블을 새롭게하지 않았 었다는 것을 끌었다는 것을 그래서 생각했다 접근은 단지 50의 char 허용했다 보았다 - 붐 쓰기 충돌

이 시나리오에 가장 적합한 오류인지는 모르겠지만 대부분의 흥미로운 문제는 Microsoft 소프트웨어에서 적절하게 표시되지 않습니다.




나는이 문제가 있었고 그것이 기존의 테이블에 새로운 비트 필드를 추가함으로써 야기되었다는 것을 깨달았다. 나는 새로운 필드를 삭제하고 모든 것이 정상적으로 돌아갔습니다.




이 문제를 극복하기 위해서. 같은 줄에있는 다른 필드를 변경하기 위해 VBA를 만들었습니다. 그래서 양식을 닫으려고 할 때 내용에 1을 더하는 별도의 필드를 만들었습니다. 이로 인해 문제가 해결되었습니다.




Links