Đáp:
Để làm được như bạn, đầu tiên bạn phải làm được những việc sau:
1/ Liệt kê tên những table nào cần liên kết.
2/Lấy về đường dẫn file Data cũa bạn
3/ Gọi 1 đoạn code cho phép bạn xóa table đang link, và link lại tới file mới!
Bước 1: bạn tự viết ra giấy nhé
Bước 2:
Để chọn được file, bạn phải khai báo bộ thư viện của Office bằng cách vào cửa sổ VBA, Menu Tool--> references, chọn Microsoft Office 11.0 library. (chọn 10.0 với AccessXP).
Tạo tạo 1 module và copy 2 đoạn code sau vào:
Code 1 dùng gọi hộp chọn file:
Function getFile(Tit As String, formatName As String, formatType As String)Dim dlgOpen As FileDialog
Set dlgOpen = Application.FileDialog(msoFileDialogOpen)With dlgOpen
.Title = Tit
.Filters.Clear
.Filters.Add formatName, formatType
.AllowMultiSelect = False
result = .Show
If (result <> 0) Then
getFile = Trim(dlgOpen.SelectedItems.Item(1))End IfEnd With
End Function
Code 2: Dùng Relink table lại
Sub LinkTable(T As String, path As String)' kiêÒm tra table, nêìu coì rôÌi thiÌ xoìa ði
On Error GoTo Err
DoCmd.DeleteObject acTable, T
Err:
'link lai tablelink moi
DoCmd.TransferDatabase acLink, "Microsoft Access", path, acTable, T, T
End Sub
Xong phần chuẩn bị code, giờ bạn tạo 1 Form, trên form vẽ 1 textbox tên là txtPath, 1 nút nhấn tên là cmdOpen, 1 nút nhấn tên là cmdreLink
Sự kiệnc click của cmdOpen nhập như sau:
Private Sub cmdOpen_Click()txtPath.Value = getFile("Select Data File", "data file", "*.mdb")End Sub
Sự kiện click của cmdOpen, nhập vào như sau:
Private Sub cmdreLink_Click()LinkTable "tblKhachhang", txtPath
LinkTable "tblTiendien", txtPath
LinkTable "tblTienNuoc", txtPath
'Sửa tên các table tương ứng thành của bạn
msgbox " Đã nhập thành công dữ liệu file " & txtpath
End Sub
Demo Download:
Để thảo luận thêm về chủ đề này, mời bạn vào : http://thuthuataccess.com/forum/thread-154-post-222.html