문제

내가 작업중 인 데이터베이스 (MS-Access XP에서)는 어떻게 든 부패한 것 같습니다. 클릭, 변경, 업데이트 이벤트 등 이벤트를 더 이상 지원하지 않습니다. 이것은 내가 얻는 오류입니다.

이벤트 속성 설정으로 입력 한 변경 표현식은 다음 오류를 생성했습니다. 개체 또는 클래스는 일련의 이벤트를 지원하지 않습니다.

이벤트가 다시 작동하기 위해 어떻게해야합니까? 나는 시도했다 도구-> 데이터베이스 유틸리티-> 컴팩트 및 복구 데이터베이스 ..., 그러나 전혀 도움이되지 않았습니다. 또한, 그것은 전체 시간과 같지 않았습니다. 이벤트는 원래 작동했지만 이제는 자동으로 생성 된 명령 버튼조차도 작동하지 않습니다.

도움이 되었습니까?

해결책

소형 및 수리는 일반적으로 테이블 및 인덱스 이외의 객체에서 발생하는 문제를 해결하지 못합니다. 가져 오기는 일반적으로 이들을 수정하지만 디 컴파일을 시도한 다음 가져 오기를 시도합니다. 디 컴파일 또는 Microsoft Access MDB/MDE 크기를 줄이고 시작 시간을 줄이는 방법

한 번도 같은 문제를 일으켜 여기에서 문제를 해결하는 단계를 문서화했습니다. 당신이 입력 한 클릭의 표현 ...

또한 참조하십시오 손상된 Microsoft Access MDB 내의 손상된 객체

긴 토론이 요약되었습니다.

도움이 될 수있는 솔루션이있는 페이지 하나 Vista/Windows 7에서 여러 버전의 액세스를 사용하는 오류 이것은 기본적으로 레지스트리에 대한 권한 문제입니다.

또 다른 제안은 제어판에서 사무실 2003 설치를 수리하는 것입니다. A2003은 라이브러리의 버전 11을 사용하는 것으로 되돌아 가지만 A2007이 다시 사용될 때까지 문제가 다시 나타납니다.

원래 포스터는 "좋아요, 몇 번의 다시 시작한 후 2007 년 런타임을 제거하는 것이 문제를 해결 한 것으로 보입니다."

다른 팁

Tony는 그의 긴 의견으로 이것을 암시했지만 이것은 결투 액세스 등록 문제와 똑같이 들립니다. 최근까지 A2007을 사용하지 않았습니다 (A2003에서 개발 된 데이터베이스가 그 아래에 배치 될 수 있는지 테스트하기 위해 런타임을 설치했습니다. A2007 A2003을 사용한 후 자체적으로 재구성해야합니다. 다른 날, A2003 재구성 (A2007을 마지막으로 실행 한 후) 동안 무언가 잘못되었으며 귀하와 비슷한 오류가 발생했습니다. A2007 (A2007로 모든 것을 다시 등록하기 위해)을 실행 한 다음 A2003 (A2003으로 모든 것을 다시 등록하기 위해)을 실행하면 문제가 해결되었습니다.

핵심은 재 등록이 실패하면 다음에 실행될 때 액세스가 반드시 알 필요는 없으므로 A2003에 부분적으로 등록 된 환경에서 그리고 부분적으로 A2007을 위해 실행된다는 것입니다. 그것을 복원하는 방법은 다른 버전의 액세스를 실행하는 것입니다. 즉, A2003이 재구성 통지없이 출시 된 경우,이를 닫고 A2007을 실행하여 자체를 재구성하고 실제 액세스로 다시 등록합니다. 다음 A2003을 실행하면 Access의 권위있는 버전으로 다시 등록하고 A2003 앱은 모든 참조를 적절한 모양으로 가져야합니다.

예, 이것은 매우 성가신 일입니다.

그리고 시간이 많이 걸립니다.

왜 MS가 이것이 고칠 필요가없는 것이라고 생각하는지 모르겠습니다. A2003 및 A2007을 나란히 실행 해야하는 개발자에 대해 쥐의 엉덩이를주지 않는다는 것을 알고 있지만 A2007 런타임 앱이 설치 될 수 있지만 기본 사무실 설치의 일부로 A2003이 설치된 최종 사용자가 많이 있습니다. .

이것은 영원히 진행되어 왔으므로 고정 될 것이라고 의심합니다.

Access 2013에서 동일한 문제를 여러 번 만났습니다. MS 웹 사이트의 한 페이지에서 문제를 해결 한 답변을 찾았습니다. 나는 여기서 그것을 공유하고있다.

  1. 메모장 ++에서 코드를 외부의 다른 곳에서 안전하게 복사했습니다.
  2. 그런 다음 발사되지 않은 코드로 전체 벤트 절차를 삭제했습니다.
  3. 새로운 이벤트 절차를 만들고 코드를 메모장 ++에서 새로 생성 된 이벤트 절차로 복원했습니다.
  4. 이전에 발사되지 않은 이벤트는 글리치없이 시작되었습니다. 문제가 해결되었습니다.

문제가 왜 나타나는지 모르겠습니다. 이 문제는 여러 번 발생했으며 같은 솔루션으로 해결 될 때마다 발생합니다.

시도 해봐.

데이터베이스를 디 컴파일하고 다시 컴파일하십시오.

그것이 작동하지 않으면 보통 새 데이터베이스를 만들고이 데이터베이스에서 새 데이터베이스를 가져옵니다. 무언가가 손상되면 그 당시 문제가 발생하여 문제를 해결할 수 있습니다.

코드 모듈에서 코드를 볼 수 있습니까? 그렇다면 안전한 곳에 자르고 붙여 넣으십시오. 그런 다음 각 양식의 HasModule 설정을 False로 뒤집고 데이터베이스를 수리 한 다음 새로 생성 된 코드 모듈로 코드를 복원하십시오.

시작 옵션에 플래그 /디 컴파일을 추가하여 데이터베이스를 디 컴파일합니다.

msaccess.exe“c : my_folder mydb.mdb” /decompile

나는 그것이 내 문제의 대부분을 해결한다는 것을 알았습니다. 그렇지 않으면 다른 하나는 보안 마법사를 실행하여 데이터베이스를 다시 보안하는 것입니다. 이것은 기본적으로 새로운 DB를 만들고 모든 개체를 당신을 위해 가져옵니다.

나는 비슷한 문제가 있었다. 시작했을 때 데이터베이스를 복사하여 새 버전의 코드를 만들었습니다. 이것은 도움이되지 않았습니다. 그러나 새 데이터베이스에서 양식을 삭제하고 원본에서 가져 오면 문제가 해결되었습니다. 나는 손상된 코드 또는 기타에 대한 경고를받지 못했습니다. 그것은 단순히 VBA 등을 변경하지 않고 작동했습니다.

데이터베이스 (Access 2010)를 새로운 데이터베이스로 압축했습니다. 기쁨이 없습니다. 작동하지 않는 양식을 삭제하고 이전 데이터베이스에서 가져 왔습니다. 기쁨이 없습니다. 충동. 기쁨! 왜 그것이 그만두 었는지, 왜 그것이 작동하는지 잘 모르겠습니다. 양식의 링크 된 텍스트 상자에 많은 양의 텍스트에 문제가 있다고 생각합니다.

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