Chào các Pro
mình hiện tại có 2 file Excel và Access muốn liên kế dữ liệu qua lại với nhau nhưng chua biết cách viết hàm qua lại nên nhờ các Pro giúp mình với nhé
1- ở file Excel có 2 nút lệnh
nút 1 thì dùng để update dữ liệu từ Access qua Excel
Nút 2 thì dùng để update dữ liệu từ Excel qua Access
2- ở file Access cũng có 2 lệnh tương tự.
mình mới tập sự loay hoay mãi mà chưa được nên qua đây nhờ các Pro chỉ bảo giúp!
thanks!
Làm luôn cho bạn câu 1, còn câu 2 bạn tự nghiên cứu nhé.
- Code lấy dữ liệu trong bảng [TB hang hoa] của file Access có đường dẫn là chung 1 folder với file Excel chạy code này.
[GPECODE=sql]Sub HLMT_LayDuLieu()
Dim cnn As Object, rst As Object, strCNString As String, lsSQL As String
Set cnn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
strCNString = "Data Source=" & ThisWorkbook.Path & "\Data.mdb"
On Error GoTo loi
With cnn
.Provider = "Microsoft Jet 4.0 OLE DB Provider"
.ConnectionString = strCNString
.CursorLocation = adUseClient
.Open
End With
lsSQL = "SELECT * " & _
"FROM [TB hang hoa]"
rst.Open lsSQL, cnn, adOpenStatic, adLockReadOnly
Range("B5:G6000").ClearContents
Range("B5").CopyFromRecordset rst
rst.Close: cnn.Close
Set rst = Nothing: Set cnn = Nothing
Exit Sub
loi:
MsgBox Err.Description
End Sub
[/GPECODE]
- Code cập nhật dữ liệu trong bảng [TB hang hoa] của file Access có đường dẫn là chung 1 folder với file Excel chạy code này.
[GPECODE=sql]Sub HLMT_Update()
On Error GoTo loi
Set Cn = CreateObject("ADODB.Connection")
Dim mySQL As String
With Cn
mySQL = "UPDATE [TB hang hoa] b " _
& "right JOIN " _
& "[Excel 8.0;HDR=Yes;IMEX=2;DATABASE=" _
& ThisWorkbook.FullName & "].[Sheet1$B4:G600] a " _
& "ON b.Mahang=a.Mahang " _
& "SET b.ngay=a.ngay,b.Mahang=a.Mahang,b.tenhang=a.tenhang," _
& "b.makholuutru=a.makholuutru,b.tenkholuutru=a.tenkholuutru," _
& "b.Soluongban=a.Soluongban " _
& "where a.mahang is not null"
.Provider = "Microsoft Jet 4.0 OLE DB Provider"
.ConnectionString = "Data Source=" & ThisWorkbook.Path & "\Data.mdb"
.CursorLocation = adUseClient
.Open
.Execute mySQL
.Close
End With
Set Cn = Nothing
Exit Sub
loi:
MsgBox Err.Description
End Sub
[/GPECODE]
*) Tải file về, giải nén và chạy code ở file excel nhé.