2003년과 2007년에 Microsoft Access 데이터베이스를 실행하면 어떤 의미가 있습니까?

StackOverflow https://stackoverflow.com/questions/75246

  •  09-06-2019
  •  | 
  •  

문제

2003년과 2007년에 Microsoft Access 데이터베이스를 실행하면 어떤 의미가 있습니까?

제가 잊어버린 수업이 있나요?

이 프로그램은 원래 Office 2003에서 구축되었으며 2007년에 실행되었습니다.실행 중인 컴퓨터에 2003과 2007이 모두 있을 때 문제가 발생하는 것 같습니다.또한 이 문제는 "Microsoft Access 12.0 개체 라이브러리"(또는 2003년의 "Microsoft Access 11.0 개체 라이브러리") 참조에서 비롯된 것으로 보입니다.이를 보려면 도구를 살펴보십시오.VBA 화면의 메뉴를 참조합니다.

오류의 증상은 기본적으로 코드가 인식되지 않는다는 것입니다(거의 제가 사용하고 있는 프로그래밍 언어를 인식하지 못하는 것과 같습니다).일반적으로 "이벤트 속성 설정으로 입력한 On Load 표현식에서 다음 오류가 발생했습니다."라는 상자가 표시됩니다.개체 또는 클래스가 이벤트 집합을 지원하지 않습니다."버튼의 경우 "On Load"를 "On Click"으로, 텍스트 상자의 경우 "On Change"로 바꿀 수도 있습니다.

나는 개인적으로 컴퓨터가 Microsoft Access 11.0/12.0 개체 라이브러리의 일부를 가져온 다음 두 가지를 쓸모 없는 VBA 참조로 혼합하고 있다고 의심합니다.내 의심을 더욱 확증하는 것은 "Microsoft Access 구성"이라는 둘 사이를 이동할 때 나타나는 상자입니다. 내 의심을 더욱 확증하는 또 다른 문제는 처음 열었던 것(예: 2007)에서 실행되고 그 다음에는 실행된다는 것입니다. 다른 쪽에서는 실행되지 않습니다(예제를 계속하는 2003).

내가 해결해야 했던 유일한 다른 문제는 DoCmd.OpenForm ,,,,, acFormReadOnly(또는 acReadOnly, 기계가 특정 날짜에 어떻게 느끼는지에 따라 다름)의 마지막 부분을 변경하는 것이었습니다. 예, 하나와 함께 작동할 것입니다. 언젠가 다른 것으로 전환하고 싶음) 단순히 개별 텍스트 상자를 잠그는 것

코딩이 좀 아닐 수도 있지만, 코딩을 하면 해결이 될 수도 있을 것 같아요.

누군가가 무언가를 생각해 내기에 충분하기를 바랍니다.

도움이 되었습니까?

해결책

Microsoft의 공식적인 입장은 동일한 PC에 여러 Office 버전을 설치하는 것은 지원되지 않으며 권장되지 않는다는 것입니다. Access 2007은 이를 우리에게 증명하도록 설계된 것 같습니다!

즉, 다음을 수행하면 대부분의 문제를 피할 수 있습니다.

1 - DB를 백엔드와 프런트엔드로 분할합니다.백엔드(테이블 및 관계)를 네트워크 폴더에 배치하고 프런트 엔드(다른 모든 개체)의 복사본을 각 사용자의 데스크톱에 배치합니다.

2 - 다른 버전의 Access에서 DB를 열 때마다 참조가 섞이는 것을 방지하려면 프런트 엔드를 mde로 만드는 것이 가장 좋습니다.

3 - 원하는 버전의 Access로 프런트 엔드를 여는 바로가기를 만듭니다. 언제나 해당 버전으로 열렸습니다.(그리고 바로가기를 사용하는 것을 잊지 마세요!) 바로가기의 대상에서:

"Access 12 msaccess.exe 경로" "db.mdb 경로"

다른 팁

우리는 Access 2003으로 개발되고 Access 2003 및 Access 2007의 전체 또는 런타임 버전에서 사용되는 MS-Acces 응용 프로그램을 보유하고 있습니다(Access 2007 Runtime은 무료이므로 우리는 이를 잘 활용하고 있습니다!).참고자료 관리 외에는 특별한 문제는 없습니다.우리의 코드는 컴퓨터에 설치된 Office 버전을 분석하고 해당 참조(Access뿐만 아니라 Excel, Outlook, Word 등)를 자동으로 업데이트합니다.코드는 매우 까다롭지만 매우 흥미롭습니다!)

내가 아는 바로는 Office 2003/VBA에서 사용할 수 있는 주요 개체, 속성 또는 메서드는 Office 2007에서 더 이상 사용되지 않습니다.Office 2003 코드는 이러한 참조 문제가 해결되면 Access 2007에서 실행됩니다.Office 2007에는 일부 새로운 개체가 도입되었으므로 개발자에게 Access 2003에서 추가로 사용할 코드를 개발하는 데 이를 사용하도록 권장하지 않습니다.

그러나 귀하의 질문의 주요 및 실제 문제는 다음과 같습니다.왜 동일한 컴퓨터에서 두 Access 버전을 모두 실행해야 합니까?내 앱이 충돌하는지 확인하고 싶다면 이렇게 하세요.귀하의 목표가 소프트웨어를 개발하는 것이라면 귀하의 컴퓨터에 더 나은 구성을 반드시 찾아야 한다고 생각합니다!

일반적으로 한 컴퓨터에 여러 버전의 Access를 설치하는 것은 지원되지 않으며 개체 참조와 관련된 문제가 발생합니다.

데이터베이스가 Access 2003에서 작성되고 .MDE로 컴파일된 다음 Access 2007을 실행하는 별도의 Windows 인스턴스에 배포되는 경우 추가 기능에 추가되는 사용자 지정 도구 모음과 같은 UI 변경 외에는 심각한 문제가 발생하지 않습니다. 리본).

여러 버전의 Access에서 테스트하려면 각 버전 간에 일종의 격리가 필요합니다.이를 수행하기 위해 여러 가상 머신을 사용합니다.내 기본 Windows VM은 Office 2007 및 IE7을 실행하고 있으며 테스트용 Office 2003 및 IE6이 있는 두 번째 VM이 있습니다.

Word, Excel 및 Outlook 2007을 Access 2003과 함께 사용하려면 먼저 Access 2003을 설치한 다음 Office 2007을 사용자 지정 설치하고 Access 2007을 선택 취소하면 됩니다.

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