Global It Leader!!



 
 

VB ADO및 DAO를 이용한 mdb압축법

페이지 정보

작성자 no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 5,574회 작성일 12-04-07 13:39

본문

다음을 모듈에 추가해주시고, 참조에 Microsoft JET and Replication Object 2.6 Lib를 추가해주세요..

사용방법은 CompatctADODB [데이터 베이스 파일 경로]  입니다.

프로젝트 패키지 시 위의 참조되는 라이브러리는 MDAC 2.6에 포함되어 있으니 따로 OCX나 DLL을 추가안해주시고

MDAC 2.6만 설치되게 하시면 됩니다.

 

Public Function CompactADODB(dbasePath As String)

    

    Dim TempFile As String, JRO As JRO.JetEngine

    Set JRO = New JRO.JetEngine

   

    TempFile = "temp.mdb"

    If Dir(TempFile) <> "" Then Kill TempFile

    JRO.CompactDatabase _

   "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbasePath, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &  TempFile

    If Dir(dbasePath) <> "" Then Kill dbasePath

    Name TempFile As dbasePath

    Set JRO = Nothing

    

End Function

 

 

'//-----------------------------------------------------------------------------------

이곳을 이용하여 많은 도움을 받은 비베 초보자입니다.

같은 것으로 고민하는 분들이 많은 것 같아 정리하여 올립니다.

도움이 되었으면 합니다.



*** DAO를 이용한 MDB 압축 ***


Private Sub CompactDAODB()

"  참조에서 Microsoft DAO 3.x Object Library 추가 (Version에 따라서 설정 필요)

    Dim DBFile As String
    Dim TempFile As String
    
    DBFile = "rabo.mdb"
    TempFile = "temp.mdb"

   " 이전의 임시화일이 존재하면 삭제
    If Dir(TempFile) <> "" Then Kill TempFile

   " DB 압축해서 임시화일에 생성(Password가 설정되지 않은 파일인 경우)
    DBEngine.CompactDatabase DBFile, TempFile

   " DB 압축해서 임시화일에 생성(Password가 설정된 파일인 경우)
   " 앞의 pwd는 현재의 DB 암호, 뒤의 pwd는 새로 설정할 DB 암호 (동일하면 생략 가능)
    DBEngine.CompactDatabase DBFile, TempFile, ";pwd=1234", ";pwd=4321"

   " 압축전의 DB 삭제
    If Dir(DBFile) <> "" Then Kill DBFile

   " 임시화일을 원래의 DB명으로 변경
    Name TempFile As DBFile

End Sub



*** ADO를 이용한 MDB 압축 ***


Private Sub CompactADODB()

"  참조에서 Microsoft Jet and Replication Objects 2.1 library 추가 (반드시 2.1이상)

    Dim jro As jro.JetEngine
    Dim DBFile As String
    Dim TempFile As String

   " 개체 할당
    Set jro = New jro.JetEngine
    
    DBFile = "rabo.mdb"
    TempFile = "temp.mdb"

   " 이전의 임시화일이 존재하면 삭제
    If Dir(TempFile) <> "" Then Kill TempFile
    
   " DB 압축해서 임시화일에 생성(Password가 설정된 파일인 경우)
   " (Password가 설정되지 않은 경우는 눈치껏 하세요~ ^^)
    jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
                                      & DBFile & ";Jet OLEDB:Database Password=1234", _
                                        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
                                      & TempFile & ";Jet OLEDB:Database Password=4321"

   " 이전의 DB 삭제
    If Dir(DBFile) <> "" Then Kill DBFile

   " 임시화일을 원래의 DB명으로 변경
    Name TempFile As DBFile
   
   " 개체 해제
    Set jro = Nothing

End Sub

[이 게시물은 오원장님에 의해 2013-02-28 16:41:58 오피스팁에서 이동 됨]

댓글목록

등록된 댓글이 없습니다.

전체 95
게시물 검색
컴퓨터언어 목록
번호 제목 글쓴이 조회 날짜
15 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6998 08-29
14 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4826 08-29
13 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5709 08-24
12 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5147 08-09
11 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6007 08-09
열람중 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5575 04-07
9 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13225 01-07
8 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 7346 12-01
7 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 7475 04-08
6 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 9550 04-08
5 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 7909 02-24
4 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10551 07-22
3 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11907 07-22
2 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10446 07-22
1 VB no_profile 오원장 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 9884 07-22