Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] nén file data accdb bằng DAO
#1
chào cả nhà!
mình có file access được sử dụng data riêng biệt (mạng nội bộ, nhiều người dùng) mình không sử dụng link table mà kết nối băng DAO, mọi người giúp mình code compact file data đặt ở nơi khác bằng DAO hoặc ADO cũng được. Cám ơn cả nhà 040 (file của e chỉ có thể nén bằng code thôi chứ ko thể dùng chức năng nén của access, 2003 thì biết còn 2007 pó tay).
Chữ ký của trungn077 Xin chào, mình là trungn077, Tham gia http://thuthuataccess.com/forum từ ngày 09-07 -12.
ღღღღღTài sản của trungn077 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#2
Bạn tham khảo thủ tục sau:

Mã PHP:
Sub CompactDB(strSourceFile As StringOptional strPassword As String)
       
    
On Error GoTo Err_Handler
    Dim strFullName 
As String
    Dim strFolderPath 
As String
    Dim strFileName 
As String
    Dim strFileExt 
As String
    Dim strLockExt 
As String
    Dim strBackupFile 
As String
    Dim strCompactFile 
As String
    Dim L 
As Long
    Dim objFSO 
As Scripting.FileSystemObject
    Dim objEngine 
As DAO.DBEngine
    
        
    Set objEngine 
Application.DBEngine
    Set objFSO 
CreateObject("Scripting.FileSystemObject")

    
strFullName Dir(strSourceFile)
    
strFolderPath Left$(strSourceFileLen(strSourceFile) - Len(strFullName))
    
InStrRev(strFullName".")
            
    
strFileName Left$(strFullName1)
    
strFileExt Mid$(strFullNameL)
    
Select Case strFileExt
        
Case ".mdb":  strLockExt ".ldb"
        
Case ".accdb"strLockExt ".laccdb"
    
End Select
           
    
If Not objFSO.FileExists(strFolderPath strFileName strLockExtThen
        strBackupFile 
strFolderPath strFileName "_Backup" Format(Date"yyyymmdd") & strFileExt
        strCompactFile 
strFolderPath strFileName "_COMPACTED" strFileExt

        
' Xoa tap tin backup neu no da ton tai
        If objFSO.FileExists(strBackupFile) Then
            objFSO.DeleteFile strBackupFile
        End If

        If objFSO.FileExists(strCompactFile) Then
            objFSO.DeleteFile strCompactFile
        End If
       
        ' 
Sao luu CSDL truoc khi Compact
        objFSO
.CopyFile strSourceFilestrBackupFile
               
        
' Compact CSDL va xuat sang mot tap tin moi (strCompactFile).
        If strPassword <> "" Then
            objEngine.CompactDatabase strSourceFile, strCompactFile, , , ";pwd=" & strPassword
        Else
            objEngine.CompactDatabase strSourceFile, strCompactFile
        End If
        '
Neu khong co loituc la qua trinh CompactDatabase hoan thanh thi xoa CSDL hien hanh
        objFSO
.DeleteFile strSourceFile
        
'Sua ten file da Compact thanh CSDL hien hanh
        objFSO.MoveFile strCompactFile, strSourceFile
        '
Thong bao da hoan tat qua trinh CompactDatabase
        MsgBox 
"CompactDatabase thanh cong, CSDL truoc thoi diem nen duoc sao luu tai: " strBackupFile
    
Else
        
MsgBox "CSDL dang duoc su dung.Vui long thoat tat ca ung dung dang truy cap den CSDL va thu lai!"
    
End If
           
Err_Exit:
    Exit 
Sub
   
Err_Handler
:
    
MsgBox Err.DescriptionvbExclamation"CompactDB Error " Err.Number
    Resume Err_Exit
       
End Sub 

Ví dụ:

Mã PHP:
Sub Test()
    
Dim strs As String
    strs 
"\\192.168.1.2\Downloads\Database.mdb"
    
Call CompactDB(strs"PassWord")
End Sub 

Lưu ý: Nhới khai báo Microsoft Scripting Runtime trong danh sách thư viện tham chiếu
Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn Xuân Thanh , Minh Tiên


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Hướng dẫn tạo Menu cho file Access bằng Macro Noname 44 31,782 10-11-16, 04:48 PM
Bài mới nhất: ongke0711
  [Hỏi] Macro Setvalue bị tắt sau khi chuyển thành file MDB toancvp 6 337 25-07-16, 07:28 PM
Bài mới nhất: toancvp
Sad [Help] Tạo menu bằng Macro để mở các file trong HDD mà sử dụng thường xuyên nghesysay 0 504 10-06-14, 11:14 AM
Bài mới nhất: nghesysay
  [Hỏi] Number kích hoạt file mdb ngocanhwin 6 1,179 08-03-14, 05:23 PM
Bài mới nhất: trunghieu
  cho hỏi về thông báo trùng khóa chính bằng macro stone18k 8 1,666 26-06-13, 02:32 PM
Bài mới nhất: stone18k

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ