Đánh giá chủ đề:
  • 9 Votes - 2.67 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Import Dữ Liệu Từ Excel Vào Access
#1
Để nhập mới nội dung một table (trong Access) từ một tập tin Excel, ta có thể dùng một trong những cách sau đây:


1. Chọn File \ Get External Data \ Import từ trình đơn Access. Trên hộp thoại Import, chọn mục Microsoft Excel từ danh sách Files of type, rồi chọn tập tin Excel muốn đưa dữ liệu vào Access và bấm OK. Sau đó, theo từng bước hướng dẫn của Access. Tuy nhiên, dữ liệu luôn luôn được đưa vào một table mới, chứ không đưa vào table có sẵn cấu trúc được.
2. Tạo một macro, rồi trên form vẽ một nút lệnh để chạy macro này. Tuy nhiên, các thông số như TableName, FileName cần phải được gõ sẵn, hoặc phải bổ sung thêm một số “kỹ xảo” nữa rất mất công.
3. Cách khác hay hơn: dùng đối tượng DoCmd, một hình thức sử dụng macro của Access trong VBA. Ví dụ: Tạo form như hình 1, gồm có một textbox (đặt tên txtTapTinExcel), một nút lệnh (có dấu 3 chấm, đặt tên cmdTimTapTin), một nút lệnh (để đọc dữ liệu từ tập tin Excel có tên chứa trong ô txtTapTinExcel, đặt tên cmdDocDuLieuTuExcel) và một ActiveX Control có tên dlgTimTapTin. ActiveX Control này được tạo bằng cách bấm nút More Controls (nút cuối cùng) trên ToolBox, rồi chọn mục Microsoft Common Dialog Control. Lần lượt gõ vào các thủ tục xử lý tình huống OnClick của các nút lệnh cmdDocDuLieuTuExcel và cmdTimTapTin (đoạn mã 1). Bạn lưu ý, thứ tự và tên các cột trong tập tin Excel phải giống như cấu trúc table đã khai báo trong Access.

Đoạn mã 1


Mã:
Private Sub cmdTimTapTin_Click()
    With dlgTimTapTin
    .ShowOpen
    txtTapTinExcel = .FileName
    End With
    End Sub

Mã:
Private Sub cmdDocDuLieuTuExcel_Click()
    Dim sTenTable As String
    sTenTable = "tbNhanVien" ‘ Vñ duå
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
    sTenTable, txtTapTinExcel, True
    End Sub


Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Cafe Via He , nhunguyet0103 , trungn077
#2
mình cũng đang nghiên cứu access nên chưa có gì hay lám, có gì mình chia sẽ với nhau.
cám ơn bạn đã có nhiều nội dung hay để chia sẽ cho các bạn.
Chữ ký của trieucdcdvl Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#3
(25-08-10, 09:55 AM)Noname Đã viết: Để nhập mới nội dung một table (trong Access) từ một tập tin Excel, ta có thể dùng một trong những cách sau đây:


1. Chọn File \ Get External Data \ Import từ trình đơn Access. Trên hộp thoại Import, chọn mục Microsoft Excel từ danh sách Files of type, rồi chọn tập tin Excel muốn đưa dữ liệu vào Access và bấm OK. Sau đó, theo từng bước hướng dẫn của Access. Tuy nhiên, dữ liệu luôn luôn được đưa vào một table mới, chứ không đưa vào table có sẵn cấu trúc được.
2. Tạo một macro, rồi trên form vẽ một nút lệnh để chạy macro này. Tuy nhiên, các thông số như TableName, FileName cần phải được gõ sẵn, hoặc phải bổ sung thêm một số “kỹ xảo” nữa rất mất công.
3. Cách khác hay hơn: dùng đối tượng DoCmd, một hình thức sử dụng macro của Access trong VBA. Ví dụ: Tạo form như hình 1, gồm có một textbox (đặt tên txtTapTinExcel), một nút lệnh (có dấu 3 chấm, đặt tên cmdTimTapTin), một nút lệnh (để đọc dữ liệu từ tập tin Excel có tên chứa trong ô txtTapTinExcel, đặt tên cmdDocDuLieuTuExcel) và một ActiveX Control có tên dlgTimTapTin. ActiveX Control này được tạo bằng cách bấm nút More Controls (nút cuối cùng) trên ToolBox, rồi chọn mục Microsoft Common Dialog Control. Lần lượt gõ vào các thủ tục xử lý tình huống OnClick của các nút lệnh cmdDocDuLieuTuExcel và cmdTimTapTin (đoạn mã 1). Bạn lưu ý, thứ tự và tên các cột trong tập tin Excel phải giống như cấu trúc table đã khai báo trong Access.

Đoạn mã 1


Mã:
Private Sub cmdTimTapTin_Click()
    With dlgTimTapTin
    .ShowOpen
    txtTapTinExcel = .FileName
    End With
    End Sub

Mã:
Private Sub cmdDocDuLieuTuExcel_Click()
    Dim sTenTable As String
    sTenTable = "tbNhanVien" ‘ Vñ duå
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
    sTenTable, txtTapTinExcel, True
    End Sub

bài này của bạn rất hay mình cũng muốn học nhưng khi mình tạo activex control thi access của mình báo (you don't have the license required to use this activex control) , mình chỉ hiểu là mình không được phép vì mình không có số đăng kí có phải không . vậy muốn sử dụng cái này sẽ phải sử lí sao hả bạn. thanks
Chữ ký của cuongtuyetcz Hoàng hôn trên núi buồn ảm đạm
Thất huyền, Ánh sáng sao lung linh.
Cương thường,nét tạo người có sĩ
Ngôn trên đã tạo người hữu danh.
ღღღღღTài sản của cuongtuyetcz (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
mục đích của active x control Microsoft Common Dialog Control để browse tới file thôi. Bạn có thể cài full office sẽ có . Hoặc thay thế bằng hàm gì ấy trong topic này:
http://thuthuataccess.com/forum/Thread-t...1-password
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn pthamnb
#5
(13-01-11, 07:52 PM)Noname Đã viết: mục đích của active x control Microsoft Common Dialog Control để browse tới file thôi. Bạn có thể cài full office sẽ có . Hoặc thay thế bằng hàm gì ấy trong topic này:
http://thuthuataccess.com/forum/Thread-t...1-password

à cho mình hỏi thêm câu nữa là  với hàm getfile của bạn có thể sử dụng trong trường hợp export ra excel không hả noname ? .vì trong file của mình, mình muốn vừa im và ex được. cám ơn bạn nhìu.
Chữ ký của cuongtuyetcz Hoàng hôn trên núi buồn ảm đạm
Thất huyền, Ánh sáng sao lung linh.
Cương thường,nét tạo người có sĩ
Ngôn trên đã tạo người hữu danh.
ღღღღღTài sản của cuongtuyetcz (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
Hoàn toàn được. Hàm kia chỉ giúp bạn select file thôi!
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#7
Em lay zidu cua bac Noname ve, thu thay nút lenh thi hanh thi bao loi the nay
[Hình: 3.jpactions=o]

đại khái nó báo là mso fildialogopen is empty
hổng bít tại sao nữa, mong các bác chỉ giáo
fle em lam để ở đây
Chữ ký của sonngo chào mấy bạn, rất mong nhận được nhiều sự hỗ trợ Star
Reply
Những người đã cảm ơn
#8
hi hi
các bác thông cảm, tại em ẩu quá chưa cài "offic 11....":Red_smile
Chữ ký của sonngo chào mấy bạn, rất mong nhận được nhiều sự hỗ trợ Star
Reply
Những người đã cảm ơn
#9
cho mình hỏi: mình muốn nhập dữ liệu từ fox dos dùng code đó có được không?, từ fox dos mình nhập 3 bảng thành 1 bảng ở access (ví dụ mình có Ayymm.dbf (yy:năm, mm:tháng) mỗi tháng phát sinh 1 file, khi nhập qua access mình muốn gom lại theo quý) nhờ bạn giúp mình!
Chữ ký của phuong94 Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#10
có một vấn đề mình làm không được trong phần này. Đó là mình cũng viết form import thì ok hết rồi, nhưng định dạng ngày tháng năm nhập bên Excel khi import qua access thì nó lại chuyển qua dạng text và sai dữ liệu. ~_~ mình cũng đã đổi hết mọi định dạng sang một thể thống nhất là dd/mm/yyyy nhưng vẫn bị lỗi này. Thỉnh thoảng import qua thì nó cũng đúng định dạng được vài cái record thôi. còn mấy cái còn lại đều thành định dạng text cả.

^^ Mà mình nghiên cứu cái này để biết thêm thôi, chứ mình chỉ làm chương trình, còn dữ liệu thì ng khác nhập liệu mà. Lo gì :P
Chữ ký của khanhduycsgt Chào Guest, có mánh nào hay thì chia sẻ cho mình biết với nhé! Và hãy thanks bằng cách bấm nút Thanks để tỏ rõ mình là người lịch sự nào! ^^
Reply
Những người đã cảm ơn quanghoa


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Cài đặt ODBC -nền tảng kết nối Access và nguồn dữ liệu khác Noname 33 19,310 01-12-16, 06:49 PM
Bài mới nhất: atula77
  Xây dựng Class Modules trong Access ( Cơ bản đến Nâng cao) maidinhdan 2 183 13-11-16, 05:32 PM
Bài mới nhất: cpucloi
  Hướng Dẫn Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được maidinhdan 18 2,790 20-10-16, 11:51 AM
Bài mới nhất: jeck09nt
  Ms Access VBA và Google drive, một vài ý tưởng trong chia sẻ và đồng bộ số liệu... paulsteigel 46 3,857 07-10-16, 02:43 PM
Bài mới nhất: kieu manh
  Xuất từ Access ra excel mà không cần phải có file định sẵn trungminh 3 353 18-09-16, 02:33 AM
Bài mới nhất: maidinhdan

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ