Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Thủ Thuật] Demo Phần 2_Compact & Repaire Back End
#1
Demo Phần 2 Compact & Repaire file Back End giúp làm giảm dung lượng file Back end
So Sánh với phần 1([Thủ Thuật] Demo_Compact & Repaire nhiều file Back End): Bẩy các lỗi phát sinh, và code gọi ngắn gọn hơn


Khả năng ứng dụng và Thông tin phần 2:
- Compact & Repaire file Back End trên chính file đó
- Compact & Repaire file Back End cho ra mộtfile mới ( giống như lệnh sao lưu backup), bạn có thể ứng dụng để sao lưu định kỳ dữ liệu hoặc phục hồi dữ liệu của bạn.

Khả năng tương thích; trên Access 2003 trở lên.
Hàm chính:
Mã PHP:
Public Function CompactFileKhac(DiaChiFileCanNen As StringOptional DiaChiFileDaNen As String ""Optional MatKhauFile As String "")
On Error GoTo Loi
Dim MaLoi 
As SingleTenLoi As String
    Dim objEngine 
As DAO.DBEngine
    Set objEngine 
Application.DBEngine

        DoCmd
.Hourglass True

      
' Compact CSDL hien tai DiaChiFileCanNen.
    If DiaChiFileDaNen = "" Or DiaChiFileDaNen = DiaChiFileCanNen Then
    MaLoi = 1
        DiaChiFileDaNen = Application.CurrentProject.Path & "\TaptinTam.MDB"


        If MatKhauFile = "" Then
            objEngine.CompactDatabase DiaChiFileCanNen, DiaChiFileDaNen
        Else
            objEngine.CompactDatabase DiaChiFileCanNen, DiaChiFileDaNen, , , ";pwd=" & MatKhauFile
        End If
        '
   Delete file Goc.
        Kill DiaChiFileCanNen
        
        
'   Doi ten File Da nen thanh file Goc.
        Name DiaChiFileDaNen As DiaChiFileCanNen
        
    ' 
Compact CSDL va xuat sang mot tap tin moi (DiaChiFileDaNen).
    Else
        If MatKhauFile "" Then
            objEngine
.CompactDatabase DiaChiFileCanNenDiaChiFileDaNen
        
Else
            objEngine.CompactDatabase DiaChiFileCanNenDiaChiFileDaNen, , , ";pwd=" MatKhauFile
        End 
If
    End If
    MsgBox "Da Compact xong file: " LaytenFile(DiaChiFileCanNen), vbInformation"Thông báo thanh cong"
KetThuc_Loi:
    DoCmd.Hourglass False
    Set objEngine 
Nothing
    
Exit Function
Loi:
    MaLoi Err.Number
    Debug
.Print MaLoi
    Select 
Case MaLoi
        
Case 3031TenLoi "Mat khau: [ " MatKhauFile " ]  khong chinh xac"
        Case 3204TenLoi "File nen: [ " DiaChiFileDaNen " ] dang ton tai, vui long xem lai"
        Case 3024TenLoi "File chon khong phai la file Access"
        Case Else: TenLoi "Chua xac dinh dc loi"
    End Select
    MsgBox 
"Nguyen nhan Loi: " TenLoivbCritical"Loi ham Compact and Repaire"
    Resume KetThuc_Loi
End 
Function 
Cú pháp gọi hàm:
Mã PHP:
CompactFileKhac "Địa chỉ file cần nén" 
hoặc file không có mật khẩu
Mã PHP:
CompactFileKhac "Địa chỉ file cần nén"Nz("Địa chỉ file đã nén với tên mới:"
hoặc file có mật khẩu
Mã PHP:
CompactFileKhac "Địa chỉ file cần nén", , Nz("Mật khẩu file cần nén"
hoặc công thức chung
Mã PHP:
CompactFileKhac "Địa chỉ file cần nén"Nz("Địa chỉ file đã nén với tên mới:"), Nz("Mật khẩu file cần nén"

Ghi chú:
- chữ Nz để phòng hờ bạn không điền dữ liệu nó sẽ lấy công thức đầu tiên để nén file
- Ô màu đỏ trong hình không cần nhập vào.

Hình minh họa[/b][/color]
[Hình: demoNenfileBackend2.png]

[b]Nếu cần nghiên cứu xin để lại Email.


Phần tiếp theo: Demo Compact & Repaire  liên quan đến file Front End trên Access 2003 và các phiên bản cao hơn.
Lý do: Access 2003 và các phiên bản cao hơn phải dùng những hàm khác nhau để thực hiện.
 
[/b]


File đính kèm
.zip   Demo_ComPactRepaire fil BackEnd_Phan 2(maidinhdan).zip (Kích cỡ: 18.55 KB / Tải về: 9)
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn ongke0711 , Noname , mrtoanbin
#2
Tôi thấy Dân lưu file tạm vào cùng thư mục của ứng dụng MsAccess.exe trong ổ C:\Program Files\...\TaptinTam.MDB. Việc lưu này có khi bị lỗi nếu người dùng không có quyền copy vào ổ C:\ do đó tôi nghĩ Dân nên cho lưu vào cùng đường dẫn file FE này luôn thì tiện hơn (Application.CurrentProject.Path).
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan
#3
(19-01-19, 09:08 PM)ongke0711 Đã viết: Tôi thấy Dân lưu file tạm vào cùng thư mục của ứng dụng MsAccess.exe trong ổ C:\Program Files\...\TaptinTam.MDB. Việc lưu này có khi bị lỗi nếu người dùng không có quyền copy vào ổ C:\ do đó tôi nghĩ Dân nên cho lưu vào cùng đường dẫn file FE này luôn thì tiện hơn (Application.CurrentProject.Path).

Cảm ơn anh Bảo
như vậy chúng ta chỉ việc đổi đoạn:
Mã PHP:
DiaChiFileDaNen = SysCmd(acSysCmdAccessDir) & "TaptinTam.MDB" 
Thành
Mã PHP:
DiaChiFileDaNen = Application.CurrentProject.Path & "\TaptinTam.MDB" 
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn tieu_ngao
#4
(19-01-19, 04:45 PM)maidinhdan Đã viết: Demo Phần 2 Compact & Repaire file Back End giúp làm giảm dung lượng file Back end
So Sánh với phần 1([Thủ Thuật] Demo_Compact & Repaire nhiều file Back End): Bẩy các lỗi phát sinh, và code gọi ngắn gọn hơn


Khả năng ứng dụng và Thông tin phần 2:
- Compact & Repaire file Back End trên chính file đó
- Compact & Repaire file Back End cho ra mộtfile mới ( giống như lệnh sao lưu backup), bạn có thể ứng dụng để sao lưu định kỳ dữ liệu hoặc phục hồi dữ liệu của bạn.

Khả năng tương thích; trên Access 2003 trở lên.
Hàm chính:
Mã PHP:
Public Function CompactFileKhac(DiaChiFileCanNen As StringOptional DiaChiFileDaNen As String ""Optional MatKhauFile As String "")
On Error GoTo Loi
Dim MaLoi 
As SingleTenLoi As String
    Dim objEngine 
As DAO.DBEngine
    Set objEngine 
Application.DBEngine

        DoCmd
.Hourglass True

      
' Compact CSDL hien tai DiaChiFileCanNen.
    If DiaChiFileDaNen = "" Or DiaChiFileDaNen = DiaChiFileCanNen Then
    MaLoi = 1
        DiaChiFileDaNen = Application.CurrentProject.Path & "\TaptinTam.MDB"


        If MatKhauFile = "" Then
            objEngine.CompactDatabase DiaChiFileCanNen, DiaChiFileDaNen
        Else
            objEngine.CompactDatabase DiaChiFileCanNen, DiaChiFileDaNen, , , ";pwd=" & MatKhauFile
        End If
        '
   Delete file Goc.
        Kill DiaChiFileCanNen
        
        
'   Doi ten File Da nen thanh file Goc.
        Name DiaChiFileDaNen As DiaChiFileCanNen
        
    ' 
Compact CSDL va xuat sang mot tap tin moi (DiaChiFileDaNen).
    Else
        If MatKhauFile "" Then
            objEngine
.CompactDatabase DiaChiFileCanNenDiaChiFileDaNen
        
Else
            objEngine.CompactDatabase DiaChiFileCanNenDiaChiFileDaNen, , , ";pwd=" MatKhauFile
        End 
If
    End If
    MsgBox "Da Compact xong file: " LaytenFile(DiaChiFileCanNen), vbInformation"Thông báo thanh cong"
KetThuc_Loi:
    DoCmd.Hourglass False
    Set objEngine 
Nothing
    
Exit Function
Loi:
    MaLoi Err.Number
    Debug
.Print MaLoi
    Select 
Case MaLoi
        
Case 3031TenLoi "Mat khau: [ " MatKhauFile " ]  khong chinh xac"
        Case 3204TenLoi "File nen: [ " DiaChiFileDaNen " ] dang ton tai, vui long xem lai"
        Case 3024TenLoi "File chon khong phai la file Access"
        Case Else: TenLoi "Chua xac dinh dc loi"
    End Select
    MsgBox 
"Nguyen nhan Loi: " TenLoivbCritical"Loi ham Compact and Repaire"
    Resume KetThuc_Loi
End 
Function 
Cú pháp gọi hàm:
Mã PHP:
CompactFileKhac "Địa chỉ file cần nén" 
hoặc file không có mật khẩu
Mã PHP:
CompactFileKhac "Địa chỉ file cần nén"Nz("Địa chỉ file đã nén với tên mới:"
hoặc file có mật khẩu
Mã PHP:
CompactFileKhac "Địa chỉ file cần nén", , Nz("Mật khẩu file cần nén"
hoặc công thức chung
Mã PHP:
CompactFileKhac "Địa chỉ file cần nén"Nz("Địa chỉ file đã nén với tên mới:"), Nz("Mật khẩu file cần nén"

Ghi chú:
- chữ Nz để phòng hờ bạn không điền dữ liệu nó sẽ lấy công thức đầu tiên để nén file
- Ô màu đỏ trong hình không cần nhập vào.

Hình minh họa[/b][/color]
[Hình: demoNenfileBackend2.png]

[b]Nếu cần nghiên cứu xin để lại Email.


Phần tiếp theo: Demo Compact & Repaire  liên quan đến file Front End trên Access 2003 và các phiên bản cao hơn.
Lý do: Access 2003 và các phiên bản cao hơn phải dùng những hàm khác nhau để thực hiện.
 
[/b]

Cần ngâm cứu lắm ạ: nguyentrungtoan0288@gmail.com.
Sẵn bác Dân cho hỏi luôn: File của bác có cái quyền không cho ai can thiệp vào bất kỳ trên form, modul… hay quá ạ. Có thể chia sẻ được không ạ, một cách hay để bảo vệ Data và design Form,...
Chữ ký của mrtoanbin mrtoanbin,gia nhập Thủ Thuật Access từ 09-09 -16.
Reply
Những người đã cảm ơn tieu_ngao
#5
(19-01-19, 10:07 PM)maidinhdan Đã viết:
(19-01-19, 09:08 PM)ongke0711 Đã viết: Tôi thấy Dân lưu file tạm vào cùng thư mục của ứng dụng MsAccess.exe trong ổ C:\Program Files\...\TaptinTam.MDB. Việc lưu này có khi bị lỗi nếu người dùng không có quyền copy vào ổ C:\ do đó tôi nghĩ Dân nên cho lưu vào cùng đường dẫn file FE này luôn thì tiện hơn (Application.CurrentProject.Path).

Cảm ơn anh Bảo
như vậy chúng ta chỉ việc đổi đoạn:
Mã PHP:
DiaChiFileDaNen = SysCmd(acSysCmdAccessDir) & "TaptinTam.MDB" 
Thành
Mã PHP:
DiaChiFileDaNen = Application.CurrentProject.Path & "\TaptinTam.MDB" 

Dân cho mình file qua mail mickeynguyen198@gmail.com nhé.
Cám ơn bạn nhiều!
Chữ ký của tieu_ngao Xin chào, mình là tieu_ngao, Tham gia http://thuthuataccess.com/forum từ ngày 20-04 -15.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Demo Phần 1] Tạo khóa bản quyền cho phần mềm maidinhdan 16 2,357 18-03-19, 11:32 AM
Bài mới nhất: Minh Tiên
  [Thủ Thuật] DeMo tạo Key có bản quyền Xuân Thanh 11 712 18-03-19, 11:31 AM
Bài mới nhất: Minh Tiên
  [Thủ Thuật] [Demo-Phần 2] Tạo khóa bản quyền (Có hạn dùng) maidinhdan 32 3,396 15-03-19, 10:08 AM
Bài mới nhất: bvchauthanh
  [Thủ Thuật] Demo Import Sheet Excel vào Table Access Xuân Thanh 15 1,050 23-01-19, 09:38 AM
Bài mới nhất: parpirus
  [Thủ Thuật] Demo Phần 1_Compact & Repaire nhiều file Back End maidinhdan 26 7,655 19-01-19, 05:02 PM
Bài mới nhất: maidinhdan

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ơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line| Phần mềm quản lý bán hàng, công nợ- tồn kho- nhà phân phối