Nạp file excel vào table access với vba

Cách code nạp file excel vào table access với vba, sử dụng thư viện hỗ trợ từ Office

Đây là đoạn ví dụ code vba nạp 1 file excel tên là nhanvien.xlsx ở ổ D vào table của access có tên tbNhanSu

Bước 1: Tạo 1 file excel có các cột theo tứ tự để nạp vào table access


Mã nhân viên    Họ tên     Phòng ban   HSL
001                   Trần A     Kế toán          5
002                   Trần B     nhân sự         6
003                   Trần C     Kế toán          7


Bước 2: Tạo ra 1 file Access

 - Sau đó tạo 1 table tbNhanVien có các cột: MaNV,HoTen,PhongBan
 - Vào 1 From có tên frmNapFileExcel
     Thêm vào form 1 button có tên btNapExcel sau đó ta copy đoạn code này vào


Private Sub btNapExcel_Click()
 
SQL = "Insert into tb_ChucVu_test(MaVV,HoTen,PhongBan,HSL) Values('{0}','{1}','{2}',{3})"
duongdanfile="D:\nhanvien.xlsx"
Dim conn As Object, db As Object, rst As DAO.Recordset
Set conn = CreateObject("DAO.DBEngine.120") '
' EXCEL CURRENT VERSION
Set db = conn.OpenDatabase(duongdanfile, False, True, "Excel 12.0 Xml;HDR=Yes;")

tensheet = InputBox("Ban vui long nhat ten sheet ?", "", "Sheet1")
Set rst = db.OpenRecordset("SELECT * FROM [" & tensheet & "$]")
'MsgBox rst.Fields(0)
rst.MoveLast
rst.MoveFirst
'MsgBox rst.RecordCount
MsgBox "File excel co " & rst.RecordCount & " dong du lieu "

tongbangghi_thanhcong = 0
For i = 1 To rst.RecordCount
    'MsgBox rst.Fields(0)
   'MsgBox rst.Fields(1)
    'MsgBox rst.Fields(2)
    sql_t = SQL
    sql_t = Replace(sql_t, "{0}", rst.Fields(0))
    sql_t = Replace(sql_t, "{1}", rst.Fields(1))
    sql_t = Replace(sql_t, "{2}", rst.Fields(2))
    sql_t = Replace(sql_t, "{3}", rst.Fields(3))
    DoCmd.SetWarnings False
    
    dem_ma_cv_trong_csdl = 0
    dem_ma_cv_trong_csdl = DCount("MaNV", "tbNhanVien", "MaBV='" & rst.Fields(0) & "'")
    If dem_ma_cv_trong_csdl = 0 Then
        DoCmd.RunSQL sql_t
        tongbangghi_thanhcong = tongbangghi_thanhcong + 1
    End If


    
    
    rst.MoveNext
Next

MsgBox "Chen duoc " & tongbangghi_thanhcong & " bang ghi"

End Sub