··조회 16,615
비주얼베이직에 대하여 궁금
안녕하세요.
요즘 비주얼베이직을 공부하고 있는 사회인입니다.
다름이 아니라 궁금한 것이 있어 이렇게 게시판에 글을 남깁니다.
비베로 엑세스를 연결하여 디비를 쓸려고 비베에서 추가기능-
비주얼데이터관리자를 클릭하면 디비와 비베를 연결해서 쓸수
있다고 하길래 그렇게 해봤습니다.
그런데 그렇게 해서 만들어진 디비를 엑세스로 열어볼라고 하니
안 열어지고 자꾸 에러만 나더라고요.
그래서 다시 비베로 열어볼라고했지만 이 역시도 에러가 뜨면서
열어지지가 않더라고요.
디비를 다시 만들어 봤지만 여전히 에러가 나서 이렇게 게시판에
글을 남깁니다.
요즘 비주얼베이직을 공부하고 있는 사회인입니다.
다름이 아니라 궁금한 것이 있어 이렇게 게시판에 글을 남깁니다.
비베로 엑세스를 연결하여 디비를 쓸려고 비베에서 추가기능-
비주얼데이터관리자를 클릭하면 디비와 비베를 연결해서 쓸수
있다고 하길래 그렇게 해봤습니다.
그런데 그렇게 해서 만들어진 디비를 엑세스로 열어볼라고 하니
안 열어지고 자꾸 에러만 나더라고요.
그래서 다시 비베로 열어볼라고했지만 이 역시도 에러가 뜨면서
열어지지가 않더라고요.
디비를 다시 만들어 봤지만 여전히 에러가 나서 이렇게 게시판에
글을 남깁니다.
댓글 2
어떤 에러인지를 모르겠네요.
분명히 에러 메시지가 있었을텐데요..
다음은 비베6.0과 액세스2000에 관한 내용입니다.
이걸 보시라는 게 아니라, 다음에 제가 답변을 위해 미리 다른 게시판에서 찾아 온 것을 저장해 두는 것입니다^^
정확한 에러 메시지를 알아야 설명을 드릴 수 있을 듯...
손상기 (sanggy@yahoo.com) Access : 1267 , Lines : 40
엑세스 2000사용시 인식할 수 없는 데이타유형-msvbkb
이 정보는 다음의 운영체제 환경에서 적용됩니다.
- Windows 95, Windows 98, Windows NT 4.0
Data Control:엑세스2000 사용시"인식할 수 없는 데이터베이스 유형"
KB Article ID: K001163
이 내용이 적용되는 제품: - Visual Basic 6.0
[요 약]
Trying to bind the Data control to a Microsoft Access 2000 database will
result in an error: "Unrecognized database format".
[요 약]
Data Control에 Access2000 MDB파일을 바인드했을 때 다음과 같은 에러가
발생한다.
"
이 에러의 원인은 Access2000을 사용하기 위해서는 DAO 3.6을 사용해야
하는데 Data Control이 DAO 3.5 로 Hard-code되어 있기 때문에
Access 2000의 데이터베이스 유형을 인식하지 못하기 때문이다.
이는 By design이며, 이를 해결하기 위해서는 다음과 같이 실행한다.
1. 프로젝트 메뉴의 참조에서 Microsoft DAO 3.6 Object Library를
선택한다.
2. 코드 창에서 다음의 코드를 입력한다.
Dim db As DAO.Database
Dim recordset1 As DAO.Recordset
Private Sub Form_Load()
Set db = OpenDatabase("pathtomdb", False, False)
Set recordset1 = db.OpenRecordset("Select * from [tablename]",
dbOpenDynaset)
Set Data1.Recordset = recordset1
End Sub
위의 설명은 DB에 DAO방식으로 연결하는 것이고요.
ADO로 연결할때는 엑세스97에서는 OLEDB 3.51이라고 코딩한것을 엑세스2000에서는 OLEDB 4.0으로만 바꾸어주면 해결됩니다
=========================================================================
2001/01/06 (16:25) from 203.244.209.187' of 203.244.209.187' Article Number : 941
손상기 Access : 542 , Lines : 63
PRB: Access 2000으로 업그레이드 시 인식할 수 없는 데이터베이스 포맷 오류
PRB: Access 2000으로 업그레이드 시 인식할 수 없는 데이터베이스 포맷 오류 메시지가 표시된다
마지막으로 수정한 날짜 : 18-Oct-2000 문서 번호: KR238401
-------------------------------------------------------------------------
본 문서의 정보는 다음의 제품에 적용됩니다.:
Windows용 Microsoft Visual Basic Professional 및 Enterprise Edition versions 5.0, 6.0
Microsoft Access 2000
Microsoft Data Access Components versions 2.5, 2.6
-------------------------------------------------------------------------
요 약
Access 2000 데이터베이스에 액세스하려고 할 때 Visual Basic 프로그램에서 다음과 같은 오류가 발생할 수 있습니다.
ADO(또는 ADO 데이터 컨트롤)를 사용 중일 경우:
런타임 오류 -2147467259 인식할 수 없는 데이터베이스 형식 XXX
DAO(또는 DAO 일반 데이터 컨트롤)를 사용 중일 경우:
런타임 오류 3343 인식할 수 없는 데이터베이스 형식 XXX
원 인
Access 2000은 Jet 4.0 엔진을 사용하며, 이 엔진은 Jet 4.0 형식의 데이터베이스 파일을 만듭니다. Jet 3.50 구성 요소는 이러한 형식을 인식하지 못합니다.
ADO를 사용 중일 경우, "Microsoft.Jet.OLEDB.3.51" 공급자를 통해 Access 2000에 액세스하려고 하면 오류 -2147467259가 발생합니다.
DAO를 사용 중일 경우, "Microsoft DAO 3.51 Object Library"를 사용하면 오류 3343이 발생합니다.
DAO 일반 데이터 컨트롤은 Access 2000 데이터베이스와 작동하지 않으므로 이 문서의 "해결 방법" 절에서 설명한 대로 사용하지 않으면 오류 3343이 발생합니다. 이 컨트롤이 Jet 3.51을 기반으로 하므로 Jet 3.51(또는 이전 버전) 데이터베이스 형식만을 인식하기 때문입니다.
해결 방법
이 문제를 해결하려면 다음 작업 중 하나를 수행합니다.
ADO(또는 ADO 데이터 컨트롤)를 사용하는 경우, "Microsoft.Jet.OLEDB.4.0" 공급자를 사용하십시오.
DAO를 사용하는 경우, 프로젝트 메뉴에서 참조를 선택하여 "Microsoft DAO 3.6 Object Library"를 사용하십시오.
일반 데이터 컨트롤을 사용하는 경우, DAO 3.6 레코드 집합을 열어 다음과 같이 데이터 컨트롤 원본에 할당하십시오.
Option Explicit
Private daoDB36 As Database
Private rs As DAO.Recordset
Dim sPath As String
Private Sub Form_Load()
sPath = _
"C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"
Set daoDB36 = DBEngine(0).OpenDatabase(sPath)
Set rs = daoDB36.OpenRecordset("Customers")
Set Data1.Recordset = rs
End Sub
이 문제는 Visual Basic 서비스 팩 4에서 해결되었습니다. DAO 데이터 컨트롤로 Access 2000 데이터베이스를 열 수 있는 새로운 값( Access 2000 )이 Connect 속성에 추가되었습니다.
참 조
Jet 4.0에 대한 자세한 내용은 Access 2000 설명서를 참조하십시오.
ADO와 DAO에 대한 자세한 내용은 Visual Basic 설명서를 참조하십시오.
"인식할 수 없는 데이터베이스 형식"에 대한 자세한 내용은 Visual Basic과 함께 제공되는 MSDN Library를 참조하십시오.