tungthoi15 > 09-12-21, 05:32 PM
tungthoi15 > 09-12-21, 05:51 PM
Function Linktable1()
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
MyPass = ""
MyPath = "\\MAYCHU\CHIASE$\"
' Delete links so there won't be any duplicates
For Each tdf In CurrentDb.TableDefs
If Left(tdf.Name, 4) <> "MSys" And Left(tdf.Name, 15) <> "*" And (tdf.Attributes And dbAttachedTable) = dbAttachedTable Then
CurrentDb.TableDefs.Delete tdf.Name
End If
Next tdf
Set tdf = Nothing
' Setup Links
Set dbs = OpenDatabase(MyPath & "data.mdb", False, False, "MS Access;PWD=" & MyPass)
For Each tdf In dbs.TableDefs
If Left(tdf.Name, 4) <> "msys" Then
TableName = tdf.Name
Set tdf = CurrentDb.CreateTableDef(TableName)
tdf.Connect = ";PWD=" & MyPass & ";Database=" + MyPath + "data.mdb"
tdf.SourceTableName = TableName
CurrentDb.TableDefs.Append tdf
End If
Next
End Function
ongke0711 > 09-12-21, 06:31 PM
(09-12-21, 05:32 PM)tungthoi15 Đã viết: Em đang muốn tránh các cặp mắt tò mò vào file Backend, em muốn chia sẻ thư muc "CHIASE$" ở dạng ẩn, khi mọi người dùng file Font End thì có cách nào Link table từ file Data.mdb nằm trong thư mục chia sẻ ẩn kia không ạ? Tức là người dùng không cần map ổ đĩa thì vẫn link được data ạ
Noname > 10-12-21, 08:45 AM
(09-12-21, 06:31 PM)ongke0711 Đã viết:(09-12-21, 05:32 PM)tungthoi15 Đã viết: Em đang muốn tránh các cặp mắt tò mò vào file Backend, em muốn chia sẻ thư muc "CHIASE$" ở dạng ẩn, khi mọi người dùng file Font End thì có cách nào Link table từ file Data.mdb nằm trong thư mục chia sẻ ẩn kia không ạ? Tức là người dùng không cần map ổ đĩa thì vẫn link được data ạ
Access nó không quan tâm Folder chứa file Back End dạng ẩn (thêm $ sau tên Folder) hoặc ẩn chính file BE.accdb, Access vẫn tiến hành link table bình thường, miễn là đúng đường dẫn.
Bạn cũng có thể đổi đuôi (extension) file để tránh các cặp mắt tò mò như: BE.dat, BE.abc... miễn là trong chuỗi đường dẫn kết nối cũng phải dùng đúng cái tên BE đã đổi extension.
Vd: "D:\Temp\BEdata.abc"
Về vấn đề Map ổ đĩa thì không cần dùng Map vì có thể sẽ có sự thay đổi đường dẫn tới file BE, khi đó phải đi Map drive lại cho từng PC thì mất thời gian qúa. Dùng code tự động link table. Có nhiều bài viết về cách làm này. Bên dưới là cách tôi thường dùng.
Link: Tự động Link Table nhiều Database và tăng tốc kết nối
Ps: bạn có làm được việc tự động cập nhật BE trong mạng LAN chưa?
ongke0711 > 10-12-21, 11:08 AM
(10-12-21, 08:45 AM)Noname Đã viết: Về vấn đề map drive mình nghĩ là ý kiến hay.
Nếu hệ thống đang có Domain server thì việc map ổ đĩa được áp từ server bằng script nên khá đơn giản, hoặc là gán đoạn code để startup tự kiểm tra có map ổ đĩa chưa để map lại.
Việc map ổ đĩa để link back- end sẽ có lợi khi ta kích hoạt server dự phòng (trong trường hợp server chính có sự cố), khi đó chỉ cần map lại ổ đĩa mà không cần sửa chữa gì chương trình cả.
Cũng có lợi trong trường hợp ta muốn test chương trình, thì chỉ cần trỏ ổ đĩa mạng tới 1 ổ USB có cùng tên ổ là được mà không ảnh hưởng dữ liệu chính
tungthoi15 > 16-12-21, 09:30 AM
(09-12-21, 06:31 PM)ongke0711 Đã viết:Dạ, em cám ơn anh,(09-12-21, 05:32 PM)tungthoi15 Đã viết: Em đang muốn tránh các cặp mắt tò mò vào file Backend, em muốn chia sẻ thư muc "CHIASE$" ở dạng ẩn, khi mọi người dùng file Font End thì có cách nào Link table từ file Data.mdb nằm trong thư mục chia sẻ ẩn kia không ạ? Tức là người dùng không cần map ổ đĩa thì vẫn link được data ạ
Access nó không quan tâm Folder chứa file Back End dạng ẩn (thêm $ sau tên Folder) hoặc ẩn chính file BE.accdb, Access vẫn tiến hành link table bình thường, miễn là đúng đường dẫn.
Bạn cũng có thể đổi đuôi (extension) file để tránh các cặp mắt tò mò như: BE.dat, BE.abc... miễn là trong chuỗi đường dẫn kết nối cũng phải dùng đúng cái tên BE đã đổi extension.
Vd: "D:\Temp\BEdata.abc"
Về vấn đề Map ổ đĩa thì không cần dùng Map vì có thể sẽ có sự thay đổi đường dẫn tới file BE, khi đó phải đi Map drive lại cho từng PC thì mất thời gian qúa. Dùng code tự động link table. Có nhiều bài viết về cách làm này. Bên dưới là cách tôi thường dùng.
Link: Tự động Link Table nhiều Database và tăng tốc kết nối
Ps: bạn có làm được việc tự động cập nhật BE trong mạng LAN chưa?