Đầu tiên bạn chỉnh kiểu dữ liệu của trường BMaHang của bảng tblBan về kiểu number cho giống với HMaHang của bảng tblHang, và chỉnh KMaKhoLuuTru của bảng tblKho về làm khóa chính.
Code trong Excel để lấy dữ liệu theo yêu cầu của bạn là:
Mã:Option Explicit Sub LayDL() Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim lsSQL As String With cnn .Provider = "Microsoft Jet 4.0 OLE DB Provider" .ConnectionString = "Data Source=" & ThisWorkbook.Path & "\data.mdb" .CursorLocation = adUseClient .Open End With lsSQL = "SELECT tblBan.BNgay, tblBan.BMaHang, tblHang.HTenhang, tblBan.BMaKhoLuuTru, tblKho.KTenKhoLuuTru, tblBan.BSoLuongBan " & _ "FROM tblKho INNER JOIN (tblHang INNER JOIN tblBan ON tblHang.HMaHang = tblBan.BMaHang) ON tblKho.KMaKhoLuuTru = tblBan.BMaKhoLuuTru;" rst.Open lsSQL, cnn, 1, 3 [b5:g6000].ClearContents [b5].CopyFromRecordset rst rst.Close: Set rst = Nothing cnn.Close: Set cnn = Nothing End Sub
Bạn xem file đính kèm nhé
Lưu ý: Giải nén rồi mới chạy file Excel nhé.
Em cũng mới tọ mọ excel cũng đang cần nối Dữ liệu với bảng tính excel vì dữ liệu mà lưu nhiều trong excel thì máy chạy như rùa, nên em muốn tìm hiểu cách để nối, lấy dữ liệu từ access ra excel tính toán. Rất giống ví dụ trên, em đã tải về file ketnoi nhưng không thấy excel hoạt động (hoặc không biết cách làm nó hoạt động), em không biết đoạn code trên phải viết ở đâu. Em còn gà lắm, mong các bác chỉ bảo chi tiết hơn. Cảm ơn các bác.