import excel vào access không cần đúng với format access

Liên hệ QC

nothingnes

Thành viên mới
Tham gia
8/12/08
Bài viết
8
Được thích
2
Chào các anh chị,

HÔm trước em có nhờ giúp đỡ việc import excel to access và em đã làm được rồi.
Nay có 1 vấn đề nữa mà em tìm hoài không làm sao khắc phục được. Nay lại cầu cứu các anh chị.

Trong file access em đính kèm có 1 form và & table
Table DICTIONARY có các field thuộc tính đều là text
và trong form được build code là :

Private Sub importE_Click()


Dim strPathFile As String, strFile As String, strPath As String
Dim strTable As String
Dim blnHasFieldNames As Boolean

' Change this next line to True if the first row in EXCEL worksheet
' has field names
blnHasFieldNames = True

' Replace C:\Documents\ with the real path to the folder that
' contains the EXCEL files
strPath = "D:\"

' Replace tablename with the real name of the table into which
' the data are to be imported
strTable = "DICTIONARY"

strFile = Dir(strPath & "*.xls")
Do While Len(strFile) > 0
strPathFile = strPath & strFile
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames, "DIC!"

' Uncomment out the next code step if you want to delete the
' EXCEL file after it's been imported
' Kill strPathFile

strFile = Dir()
Loop



End Sub


Tất nhiên, khi import vào thì nó chỉ nhận các field có thuộc tính là text, còn những thuộc tính khác thì nó đều báo import errors

** Một vấn đề đặt ra khi em làm thao tác copy bằng tay ( select + copy) & past thẳng vào table access thì tất cả đều ok, không phát sinh lỗi.


Nên em nghĩ rằng thao tác này có thể tùy chỉnh được trong code ( em đã tìm hết và thử nhưng không làm sao giải quyết được).

Mong các anh chị giúp em trong vấn đề này ạ.

Xin chân thành cám ơn

Đây là hình mà em copy & past bằng tay ạ
8334c90015.jpg
 

File đính kèm

  • import_excel.zip
    26.1 KB · Đọc: 282
  • 7424.zip
    122.8 KB · Đọc: 182
Như trước đây mình cũng đã nói với bạn là để nhập dữ liệu từ Excel qua Access thì trước hết bạn phải xây dựng cấu trúc để ghi CSDL, file excel của bạn có tiêu đề hoàn toàn khác với các trường của Table DICTIONARY thì làm sao nó nhận dạng được trường nào mà ghi vào ? access sẽ ngầm định dòng đầu tiên có chứa các tên là các trường, nó sẽ dựa vào các tiêu đề cột bên excel đó để dò tìm các trường tương ứng để nhập liệu vào. Bạn thử so sánh các tiêu đề cột bên file excel của bạn có giống 100% các trường bên access không nhé. Mình thấy nó chẳng giống gì cả thậm chí có cột tiêu đề không có thì làm sao nó nhập vào cho được.
Còn cách bạn copy vùng dử liệu rồi paste vào table thì OK không gây ra lổi. Nhưng bạn nên lưu ý rằng nếu copy như vậy thì sẽ không chính xác đâu nhé, vì nó chỉ đơn thuần là dán dữ liệu vào theo thứ tự các cột bên file excel chứ không tìm trường tương ứng để dán vào. Bạn thử thay đổi thứ tự cột bên excel rồi copy dán vào table access của bạn thử xem có khác không nhé.
Nên cẩn thận khi dán kiểu này, dán theo kiểu này cũng được nhưng với đk là thứ tự các cột trong access giống thứ tự file excel mới được.
Thân
 
Trước tiên, xin cám ơn doomfootwear đã quan tâm đến bài viết của em .
điều mà doomfootwear nói hoàn toàn chính xác với bài viết trước mà em có nhờ giúp đỡ.
Tuy nhiên, nó khác ở chỗ mà em muốn đề cập tới là :
format trong các trường của excel không trùng với access, viết code thì chạy báo lỗi, còn copy bằng tay thì không báo lỗi ( dữ liệu của excel đúng với các trường của access )
( Tiêu đề của excel em có thể sửa cho trùng với access, cái này em đã sửa lại )

Em gửi lại các file cho doomfootwear xem thử giùm em nhé
 

File đính kèm

  • 7209.zip
    22 bytes · Đọc: 74
  • 7210.zip
    12.8 KB · Đọc: 78
  • import_excel.zip
    26.1 KB · Đọc: 114
Trước tiên, xin cám ơn doomfootwear đã quan tâm đến bài viết của em .
điều mà doomfootwear nói hoàn toàn chính xác với bài viết trước mà em có nhờ giúp đỡ.
Tuy nhiên, nó khác ở chỗ mà em muốn đề cập tới là :
format trong các trường của excel không trùng với access, viết code thì chạy báo lỗi, còn copy bằng tay thì không báo lỗi ( dữ liệu của excel đúng với các trường của access )
( Tiêu đề của excel em có thể sửa cho trùng với access, cái này em đã sửa lại )

Em gửi lại các file cho doomfootwear xem thử giùm em nhé
Code của bạn khi dò file nó dò đến ổ D, bạn nên dùng theo cách của mình là dò bằng 1 nút chọn.
Bạn tham khảo file đính kèm nhé, nó sẽ impỏt tất tần tật những text và số, kể cả những ô trống.
Thân
 

File đính kèm

  • import_excel.rar
    30.7 KB · Đọc: 615
Cám ơn doomfootwear file import, nhưng tool của nothingnes thì nó sẽ import hết tất cả những file excel trong 1 folder & append lai chỉ thành 1 table thôi, còn file của doomfootwear chỉ import chỉ 1 file duy nhất.

Vì hàng tháng, mình phải cập nhật hàng trăm file như thế, nếu import chỉ 1 file thì :( đau khổ lém )
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom