Lấy dữ liệu từ excel vào access

Liên hệ QC

hoangminhtien

Thành viên gắn bó
Tham gia
29/2/08
Bài viết
1,660
Được thích
2,190
Nghề nghiệp
Mechanical Engineering
em có dữ liệu từ file excel, bây giờ em muốn chuyển nó vào table trong access một cách nhanh chóng thì làm như thế nào? các bác giúp em với nhé!
 
Vào Access:
File/Get External Data/Import
Chọn File of type là MS Excel
 
1. Import thành access table:
menu File - Get External Data - Import - File type = Microsoft Excel , Open - Next ...

2. Link:
menu File - Get External Data - Link table - File type = Microsoft Excel , Open - Next ...
 
Lần chỉnh sửa cuối:
Cám ơn các bác đã hướng dẫn. bây giờ em muốn chuyển dữ liệu từ excel và trong table của access đã có sẵn dữ liệu (tức là thêm dữ liệu vào table từ dữ liệu excel) thì làm thế nào?
 
tạo hoặc link sẵn dữ liệu excel vào 1 table, sau dó dùng 1 query append
 
Lần chỉnh sửa cuối:
tạo hoặc link sẵn dữ liệu excel vào 1 table, sau dó dùng 1 query append

Cám ơn bác, bác có thể hướng dẫn chi tiết được không ạ? trong file access có table đa có dữ liệu a1,b1 và a2,b2. bây giờ có file excel có dữ liệu a3,b3;..a5,b5. làm thế nào để trong table của access có đầy đủ dữ liệu của cả access và excel.
 

File đính kèm

  • Hoi.rar
    7.1 KB · Đọc: 646
Tạo query Append là query có thêm dòng lệnh Insert Into:
PHP:
INSERT INTO Table1 ( a, b )
SELECT Sheet1.a, Sheet1.b
FROM Sheet1;
Chú ý: Mỗi lần chạy cái query này (open), là nó append thêm 1 lần, có thể sẽ bị trùng với dữ liệu append lần trước.

Ngoài ra, khi import từ excel, cũng có lựa chọn Store data in an Existing Table, lúc này nó tự động add vào như append vậy.
Tuy nhiên làm cách này, mỗi lần muốn thực hiện phải thao tác đầy đủ các bước lần nữa. Trừ khi tạo 1 macro và chạy macro đó.

attachment.php


attachment.php
 

File đính kèm

  • db1.rar
    7.5 KB · Đọc: 654
  • appenddata.jpg
    appenddata.jpg
    39.7 KB · Đọc: 1,779
  • macro1.jpg
    macro1.jpg
    40.8 KB · Đọc: 1,700
Lần chỉnh sửa cuối:
Em làm theo cách import từ excel, lựa chọn Store data in an Existing Table mà không được trong trường hợp này bác ạ. Trường hợp Inport từ sheet out của excel vào table t_DPur1. mong các bác hướng dẫn thêm em với. cám ơn các bác
 

File đính kèm

  • Hoi.rar
    460.5 KB · Đọc: 204
Em làm theo cách import từ excel, lựa chọn Store data in an Existing Table mà không được trong trường hợp này bác ạ. Trường hợp Inport từ sheet out của excel vào table t_DPur1. mong các bác hướng dẫn thêm em với. cám ơn các bác
Bạn thử dùng 1 form để dò tìm đến file xong rồi import nó vào bảng, bạn lưu ý là cấu trúc phải giống nhau
Bạn xem file đính kèm nhe
Thân
 

File đính kèm

  • Hoi.rar
    14.4 KB · Đọc: 749
Lần chỉnh sửa cuối:
Có 2 lý do:

1. File Excel có những dòng thừa và cột thừa (chủ yếu là cột), cột cuối là K. Điều này có thể khắc phục trong quá trình import nếu như bạn đánh dấu skip this field cho từng field thừa.

2. Tên field trong file Excel không đồng nhất với tên field của table đích (CategoryID và Category).
 
Em inport từ file Excel BOM vào table BOM của file Access, tuy nhiên trường Quantity chỉ input được những số liệu bằng 1, còn các số khác thì không nhập được. các bác xem giúp em đã làm sai ở bước nào với nhé! Cám ơn các bác
 

File đính kèm

  • Inport.rar
    324.3 KB · Đọc: 188
Em inport từ file Excel BOM vào table BOM của file Access, tuy nhiên trường Quantity chỉ input được những số liệu bằng 1, còn các số khác thì không nhập được. các bác xem giúp em đã làm sai ở bước nào với nhé! Cám ơn các bác
Do bạn thiết kế Table trường QuantityQ'ty(m2)ofTape, phần Decimal Places là Auto nên nó tự cắt số lẻ đằng sau.
Bạn thử sửa lại là 10 số xem sao nhé
Thân
 
Trong quá trình import bằng wizard, nếu chọn No Primary Key, thì sẽ bị mất như vậy. (không hiểu tại sao)
Nếu chọn Let Access add a Primary key, thì không bị mất như vậy.

Tiến thử lại xem.
 
Cám ơn các bác đã hướng dẫn. bây giờ em muốn chuyển dữ liệu từ excel và trong table của access đã có sẵn dữ liệu (tức là thêm dữ liệu vào table từ dữ liệu excel) thì làm thế nào?
Có nhiều cách, nhưng với trường hợp của bạn, mở file excel và file Access lên, copy (Ctrl+C) ở sheet excel và paste thẳng vào table Access nếu có cùng cấu trúc cột dữ liệu ở excel là nhanh nhất.
 
Cám ơn các bác đã hướng dẫn cho em

Do bạn thiết kế Table trường QuantityQ'ty(m2)ofTape, phần Decimal Places là Auto nên nó tự cắt số lẻ đằng sau.
Bạn thử sửa lại là 10 số xem sao nhé

Em đã làm theo cách này mà không được bác ạ!!

Trong quá trình import bằng wizard, nếu chọn No Primary Key, thì sẽ bị mất như vậy. (không hiểu tại sao)
Nếu chọn Let Access add a Primary key, thì không bị mất như vậy.

Bác hướng dẫn thêm cho em về cái này với, em không biết làm ạ

Có nhiều cách, nhưng với trường hợp của bạn, mở file excel và file Access lên, copy (Ctrl+C) ở sheet excel và paste thẳng vào table Access nếu có cùng cấu trúc cột dữ liệu ở excel là nhanh nhất.

Em làm theo cách của bác tuy nhiên không copy được hết tất cả dữ liệu, chỉ copy được một phận. nó báo lỗi là "The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data."

mong các bác hướng dẫn thêm. cám ơn các bác
 
Em làm theo cách của bác tuy nhiên không copy được hết tất cả dữ liệu, chỉ copy được một phận. nó báo lỗi là "The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data."
Ví dụ:
- Bảng trong access Field 1 định dạng là Text 20 (định dạng là text có độ dài 20 ký tự) nhưng trong excel, dữ liệu có ô có độ dài (lenth) là 30 khi copy/import vào access nó không báo lỗi mới lạ!
- Bảng trong access Field 2 định dạng là Date (định dạng kiểu dữ liệu là ngày tháng) nhưng trong excel, dữ liệu có ô là chuỗi kí tự, khi copy/import vào access nó không báo lỗi mới lạ!
- Bảng trong access Field 3 định dạng là Double (định dạng kiểu dữ liệu là số thực) nhưng trong excel, dữ liệu có ô là chuỗi kí tự, khi copy/import vào access nó không báo lỗi mới lạ!
........................

Cái này là cái cơ bản mà bạn!

Nếu dự liệu không đồng bộ, thì dù có dùng cách copy hay import hay link table hay query hay code kiết gì đó cũng báo lỗi y như thế.

-------------------
Nói thêm:
- Khi copy paste từ excel vào bảng access, nếu có lỗi thì access sẽ tạo ra 1 bảng có tên Paste Errors, Mở table này lên nghiền ngẫm từng record lỗi đó sẽ hiểu ra ngay.
- Khi copy paste từ excel vào access, thứ tự cột trong access như thế nào thì bên excel cũng phải theo thứ tự y như thế!
 
Lần chỉnh sửa cuối:
Ví dụ:
- Bảng trong access Field 1 định dạng là Text 20 (định dạng là text có độ dài 20 ký tự) nhưng trong excel, dữ liệu có ô có độ dài (lenth) là 30 khi copy/import vào access nó không báo lỗi mới lạ!
- Bảng trong access Field 2 định dạng là Date (định dạng kiểu dữ liệu là ngày tháng) nhưng trong excel, dữ liệu có ô là chuỗi kí tự, khi copy/import vào access nó không báo lỗi mới lạ!
- Bảng trong access Field 3 định dạng là Double (định dạng kiểu dữ liệu là số thực) nhưng trong excel, dữ liệu có ô là chuỗi kí tự, khi copy/import vào access nó không báo lỗi mới lạ!

Cái này là cái cơ bản mà bạn!

Nếu dự liệu không đồng bộ, thì dù có dùng cách copy hay import hay link table hay query hay code kiết gì đó cũng báo lỗi y như thế.

-------------------
Nói thêm:
- Khi copy paste từ excel vào bảng access, nếu có lỗi thì access sẽ tạo ra 1 bảng có tên Paste Errors, Mở table này lên nghiền ngẫm từng record lỗi đó sẽ hiểu ra ngay.
- Khi copy paste từ excel vào access, thứ tự cột trong access như thế nào thì bên excel cũng phải theo thứ tự y như thế!


Cám ơn bác, em làm được rồi.
 
Bạn xem file nhé
Mình chỉnh được mà
 

File đính kèm

  • Inport.rar
    369.4 KB · Đọc: 594
Chính xác là trong Excel số liệu khônmg đồng bộ ở hai trường số liệu. Có field là số, có field là chuỗi. Vì thế khi Im sẽ báo lỡi. Sửa lại cái vụ này là Im ngon ơ
Thân
 
Hay quá,.... Các bác có thể giúp em copy dữ liệu từ Excel vào trong cửa sổ nhập hàng của phần mềm được không??? E copy rồi dán... mỏi mắt lắm và thường bị nhầm đơn giá.
 
Web KT
Back
Top Bottom