Xuân Thanh > 10-06-12, 01:26 PM
Function ImExAc(tblTabName As String, strFile As String, shSheet As String)
'tblTabName la ten table can Import du lieu
'strFile la ten duong dan den Workbook Ex co du lieu
'shSheet la ten Sheet cua Workbook strFile chua du lieu
'Sheet Ex co hang dau tien la hang tieu de(ten truong)
Dim Ex As New Excel.Application
Dim fileEx As Workbook
Set fileEx = Ex.Workbooks.Open(strFile)
Dim Ws As Worksheet
Set Ws = fileEx.Worksheets(shSheet)
Dim lfirstrow, lfirstcol, llastrow, llastcol As Long
With Ws.UsedRange
lfirstrow = .Row
lfirstcol = .Column
llastrow = .Rows(UBound(.Value)).Row
llastcol = .Columns(UBound(.Value, 2)).Column
End With
Dim Rs As Recordset
Set Rs = CurrentDb.OpenRecordset(tblTabName, dbOpenTable)
Dim i As Long
Dim j As Long
For i = lfirstrow + 1 To llastrow
Rs.AddNew
For j = lfirstcol To llastcol
Rs.Fields(j - lfirstcol) = Ws.Cells(i, j)
Next
Rs.Update
Next
fileEx.Close False
Set Ex = Nothing: Rs.Close
End Function
uronmapu > 12-06-12, 05:33 PM
Xuân Thanh > 12-06-12, 08:39 PM
uronmapu > 27-06-12, 05:35 PM
opera > 18-10-12, 04:29 PM
nhannt4 > 22-10-12, 02:28 PM
(18-10-12, 04:29 PM)opera Đã viết: Mình import được, mà sao sau khi vào access rồi, mình không đặt khóa chính cho table được vậy bạn?
Giờ làm sao để thiết lập quan hệ giữa các table đó?
accessnewbie > 12-03-14, 11:24 AM
accessnewbie > 12-03-14, 11:16 PM
ttqt30 > 21-10-14, 07:15 PM
(10-06-12, 01:26 PM)Xuân Thanh Đã viết: Hỏi
- Tôi có một file Excel chứa dữ liệu cần Import vào Access thì làm thế nào ngoài cách Import thông thường?
Trả lời
Yêu càu số trường của table Ac và số cột của Ex là bằng nhau, format giống nhau
Trong Access tạo một modul mới và chép hàm ImExAc vào. Nhớ chọn thêm thư viện Microsoft Excel 11.0 Object Libary
Mã PHP:Function ImExAc(tblTabName As String, strFile As String, shSheet As String)
'tblTabName la ten table can Import du lieu
'strFile la ten duong dan den Workbook Ex co du lieu
'shSheet la ten Sheet cua Workbook strFile chua du lieu
'Sheet Ex co hang dau tien la hang tieu de(ten truong)
Dim Ex As New Excel.Application
Dim fileEx As Workbook
Set fileEx = Ex.Workbooks.Open(strFile)
Dim Ws As Worksheet
Set Ws = fileEx.Worksheets(shSheet)
Dim lfirstrow, lfirstcol, llastrow, llastcol As Long
With Ws.UsedRange
lfirstrow = .Row
lfirstcol = .Column
llastrow = .Rows(UBound(.Value)).Row
llastcol = .Columns(UBound(.Value, 2)).Column
End With
Dim Rs As Recordset
Set Rs = CurrentDb.OpenRecordset(tblTabName, dbOpenTable)
Dim i As Long
Dim j As Long
For i = lfirstrow + 1 To llastrow
Rs.AddNew
For j = lfirstcol To llastcol
Rs.Fields(j - lfirstcol) = Ws.Cells(i, j)
Next
Rs.Update
Next
fileEx.Close False
Set Ex = Nothing: Rs.Close
End Function
Khi cần Import, gọi hàm như sau
Call ImExAc(“tblDanhsachkhachhang”,”D:\Excel\Danh sach khach hang.xls”,”Danh sach”)
(Đã test thử thành công, viết cho Office 2003)
ttqt30 > 22-10-14, 12:15 PM