Kiều Mạnh
I don't program, I beat code into submission!!!
- Tham gia
- 9/6/12
- Bài viết
- 5,421
- Được thích
- 4,035
- Giới tính
- Nam
I/ Mục đích và yêu cầu chung
1/ Xuất phát từ 10 lý do hàng đầu cho việc sử dụng Access cùng với Excel
Của Bác Bill Link sau:
2/ Xuất phát từ nhu cầu công việc Của Mạnh và sự cần thiết cho Mạnh Học hỏi, bàn luận và nghiên cứu thêm ....
3/ Mạnh lập thớt này với 1 cái tiêu đề chung nhất ... Vì sẻ có rất nhiều vấn đề và bài viết liên Quan tới Excel & Access cần học tập và bàn luận tại đây cùng với các thành viên khác nữa nếu thích thì cứ Úp hết bài vào đây ta bàn luận và học tập cho vui ..... càng nhiều bài càng tốt .... phản biện càng sâu sắc càng hay
4/ Các Bạn cứ yên tâm tin Mạnh đi ... Mạnh lập thớt nào là thớt đó có phong trào học tập và nghiên cứu khí thế xôi nổi ở đó ... trừ khi Mạnh bận công việc hay Ứ thích nữa thì nó sẻ chìm xuồng ...
II/ Mở màn cho Mạnh hỏi bài thứ 1
Mạnh sử dụng code sau Từ Excel chạy code để CompactRepair Database.accdb thấy chạy rất tốt tuy nhiên nó phát sinh 1 vài lỗi sau rất mong các Bạn trợ giúp
1/ khi file Excel đang kết nối tới File Access có biểu tượng ổ khóa vàng mà đột ngột mất điện ... khi có điện lại nhìn trong Folder có file Database đó nó vẫn còn file có ổ khóa màu vàng thì mở file Excel kết lại thì có 1 vài code có liên quan nó báo lỗi VD như code trên .... cách xử lý nó ???
2/ Khi 2 máy trong Mạng LAN đang kết nối tới Database.accdb mà chưa giải phóng kết nối Mạnh thử nén file thì nó báo lỗi vì còn đang kết nối ở máy khác
Vì Mạnh có cho code nó chạy tự động mỗi ngày nó nén ( CompactRepair ) File 1 lần khi mở file Excel đó lên code lưu cái ngày đó trên máy
Vậy Mạnh muốn hỏi có cách nào khi Mạnh nén file ( CompactRepair ) thì nó giải phóng hết tất cả các kết nối các máy khác trong Mạng LAN ... cách xử lý nó ???
3/ Tại sao Mạnh dùng chức năng CompactRepair của Access khi mở chính nó lên để nén file thì dung lượng file sau đó nó vẫn còn nhiều hơn khi xài công cụ khác nén lại ( CompactRepair )
4/ Có code nào thay thế code trên mà nó chạy tốt hơn mong các bạn úp cho Mạnh xin tham khảo ?!
Tạm thời hỏi vậy .... sẻ có nhiều bài tiếp theo Sau !!??
Xin cảm ơn
1/ Xuất phát từ 10 lý do hàng đầu cho việc sử dụng Access cùng với Excel
Của Bác Bill Link sau:
10 lý do hàng đầu cho việc sử dụng Access cùng với Excel
Bạn có thể sử dụng Access và Excel để quản lý dữ liệu dạng bảng của mình.
support.office.com
2/ Xuất phát từ nhu cầu công việc Của Mạnh và sự cần thiết cho Mạnh Học hỏi, bàn luận và nghiên cứu thêm ....
3/ Mạnh lập thớt này với 1 cái tiêu đề chung nhất ... Vì sẻ có rất nhiều vấn đề và bài viết liên Quan tới Excel & Access cần học tập và bàn luận tại đây cùng với các thành viên khác nữa nếu thích thì cứ Úp hết bài vào đây ta bàn luận và học tập cho vui ..... càng nhiều bài càng tốt .... phản biện càng sâu sắc càng hay
4/ Các Bạn cứ yên tâm tin Mạnh đi ... Mạnh lập thớt nào là thớt đó có phong trào học tập và nghiên cứu khí thế xôi nổi ở đó ... trừ khi Mạnh bận công việc hay Ứ thích nữa thì nó sẻ chìm xuồng ...
II/ Mở màn cho Mạnh hỏi bài thứ 1
Mạnh sử dụng code sau Từ Excel chạy code để CompactRepair Database.accdb thấy chạy rất tốt tuy nhiên nó phát sinh 1 vài lỗi sau rất mong các Bạn trợ giúp
Mã:
Public Function MyFso() As Scripting.FileSystemObject
Set MyFso = New Scripting.FileSystemObject
End Function
Public Function RepairDatabase(ByVal AccPath As String) As Boolean
Rem https://msdn.microsoft.com/en-us/library/office/ff194498.aspx
Call CloseDataBaseAccess
On Error GoTo Errorhandler
Dim Acc As Object, NewName$, Ext$
NewName = AccPath & ".temp"
Ext = MyFso.GetExtensionName(AccPath)
If (UCase(Ext) <> "MDB") And (UCase(Ext) <> "ACCDB") Then Exit Function
Set Acc = CreateObject("Access.Application")
If MyFso.FileExists(AccPath) = False Then Exit Function
RepairDatabase = Acc.CompactRepair(AccPath, NewName, True)
MyFso.DeleteFile AccPath
Name NewName As AccPath
Set Acc = Nothing
Exit Function
Errorhandler:
Call UniMsgbox("Error #: " & Err.Number _
& vbCrLf & Err.Description, 2, 48)
Err.Clear
End Function
2/ Khi 2 máy trong Mạng LAN đang kết nối tới Database.accdb mà chưa giải phóng kết nối Mạnh thử nén file thì nó báo lỗi vì còn đang kết nối ở máy khác
Vì Mạnh có cho code nó chạy tự động mỗi ngày nó nén ( CompactRepair ) File 1 lần khi mở file Excel đó lên code lưu cái ngày đó trên máy
Vậy Mạnh muốn hỏi có cách nào khi Mạnh nén file ( CompactRepair ) thì nó giải phóng hết tất cả các kết nối các máy khác trong Mạng LAN ... cách xử lý nó ???
3/ Tại sao Mạnh dùng chức năng CompactRepair của Access khi mở chính nó lên để nén file thì dung lượng file sau đó nó vẫn còn nhiều hơn khi xài công cụ khác nén lại ( CompactRepair )
4/ Có code nào thay thế code trên mà nó chạy tốt hơn mong các bạn úp cho Mạnh xin tham khảo ?!
Tạm thời hỏi vậy .... sẻ có nhiều bài tiếp theo Sau !!??
Xin cảm ơn
Lần chỉnh sửa cuối: