Nhập dữ liệu từ Excel vào Access

Thảo luận trong 'Ứng dụng Access' bắt đầu bởi Hugolina, 21 Tháng ba 2007.

19,683 lượt xem

  1. Hugolina

    Hugolina Thành viên sơ cấp

    Bài viết:
    37
    Đã được thích:
    0
    Nơi ở:
    Thành phố Hồ Chí Minh
    Em đang học Access kế toán. File này hiện chưa có dữ liệu chính thức trong khi đó dữ liệu này hiện đang nằm ở bên Excel với các trường tương ứng với các trường bên Access.

    Để tiết kiệm thời gian em cần nhập import dữ liệu từ Excel vào Access. Em đã thử nghiệm một table xuất export dữ liệu ra Excel thì OK nhưng cũng từ dữ liệu mới xuất em import ngược trở lại thì máy lại báo lỗi. Kì quá hén! Hihi

    Các anh chỉ dùm em nhé.

    Chúc các anh vui vẻ khỏe đẹp

    Hugolina
     
    #1
  2. Ng Ha Anh Tuan

    Ng Ha Anh Tuan Thành viên sơ cấp

    Bài viết:
    76
    Đã được thích:
    0
    Nơi ở:
    TP HCM
    Thấy vấn đề improt ex vào acc có vấn đề gì đâu, bạn chon nên sh nào của file ex và import thành 1 table mới, tên là tên của sh hiện hành. Nếu cẩn thận, bạn vào ex xóa những dòng và cột empty. Và coi lại phần ID của table
     
    #2
  3. Hugolina

    Hugolina Thành viên sơ cấp

    Bài viết:
    37
    Đã được thích:
    0
    Nơi ở:
    Thành phố Hồ Chí Minh
    Anh ơi, sh là gì hả anh? Điều anh giải thích tức là mình nhập vào bảng mới khác, rồi từ bảng này mình mới append vào bảng table cũ? Nếu phần ID là Autonumber do máy tự tạo thì khi đó máy có báo lỗi hay không? Tức là trường ID này mình để trống hay có thể đánh lần lượt theo thứ tự 1,2,3....

    Có cách nào để nhập dữ liệu vào nối tiếp dữ liệu đã có rồi hay không? Tức là không phải qua trung gian table mới?

    Cảm ơn anh
     
    Last edited: 22 Tháng ba 2007
    #3
  4. Ng Ha Anh Tuan

    Ng Ha Anh Tuan Thành viên sơ cấp

    Bài viết:
    76
    Đã được thích:
    0
    Nơi ở:
    TP HCM
    Sh là Sheet, ID cho tự động, theo tôi import rồi appen hay hơn, còn không thì bạn link table từ Excel cũng được mà. Tạo 1 table lấy dl từ Ex (link). 1 query appe, kèm thêm kiểm tra nếu trùng thì bỏ cũ lấy mới. Bạn nghiên cứu thêm nhé.
     
    #4
  5. Hugolina

    Hugolina Thành viên sơ cấp

    Bài viết:
    37
    Đã được thích:
    0
    Nơi ở:
    Thành phố Hồ Chí Minh
    Dạ em nghĩ cách anh chỉ hay hơn. Cảm ơn anh.

    Trong trường hợp bảng có trường ID No. là Auto Number thì dữ liệu ở trong bảng Excel cột ID No mình để trống hay đánh số thứ tự tăng dần lên? để nhập import được vào Access
     
    #5
  6. Ng Ha Anh Tuan

    Ng Ha Anh Tuan Thành viên sơ cấp

    Bài viết:
    76
    Đã được thích:
    0
    Nơi ở:
    TP HCM
    Bạn nên xem lại khóa của table, ID là duy nhất, bạn có thể import không cần ID còn nếu Excel có ID là STT tăng dần thì khi import bạn xem ID của excel là id của table, (vấn đề là duy nhất)
     
    #6
  7. sdc

    sdc Thành viên sơ cấp

    Bài viết:
    76
    Đã được thích:
    1
    Nơi ở:
    HồChíMinhCity
    Chào thân ái ... học hỏi ở đây gần 1 năm rồi , hôm nay mới tham gia diễn đàn ...vì bây giờ mới ra trường thì nới có thời gian online cùng diễn đàn . các bạn làm như sau:
    Để 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
    Private Sub cmdTimTapTin_Click()
    With dlgTimTapTin
    .ShowOpen
    txtTapTinExcel = .FileName
    End With
    End Sub

    Private Sub cmdDocDuLieuTuExcel_Click()
    Dim sTenTable As String
    sTenTable = "tbNhanVien" ‘ Ví dụ
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
    sTenTable, txtTapTinExcel, True
    End Sub


    ---------:banana: --------------
     
    Last edited: 30 Tháng ba 2007
    #7
  8. ZRComic

    ZRComic Thành viên sơ cấp

    Bài viết:
    11
    Đã được thích:
    0
    Nơi ở:
    Quảng Nam
    [​IMG]

    Hình 1.
     
    #8
  9. longho

    longho Thành viên sơ cấp

    Bài viết:
    3
    Đã được thích:
    0
    Nơi ở:
    kien giang
    mình đang rất cần làm việc này nên gặp bài này mừng quá, làm đến cái nút ActiveX Control có tên dlgTimTapTin thì xìu luôn. mình đã làm theo hướng dẫn nhưng không tìm dc Microsoft Common Dialog Control đâu cã ???.
     
    Last edited: 26 Tháng mười một 2007
    #9
  10. ThichKT

    ThichKT Thành viên sơ cấp

    Bài viết:
    6
    Đã được thích:
    0
    Nơi ở:
    Quận Bình Thạnh, TP.HCM
    Đơn giản chỉ cần mở sẵn file Excel, và table Access.
    - Bên Excel: Chọn hàng cột tương ứng với table access (selected) . Dùng lệnh copy (Ctrl + C).
    - Bên Access: chọn nguyên row sau cùng (selected). Dùng lệnh paste (Ctrl + V).
    Nếu dữ liệu đồng dạng, đúng kiểu thì Access sẽ chấp nhận ngay.
     
    #10
  11. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    #11
  12. tathanhtai

    tathanhtai Thành viên sơ cấp

    Bài viết:
    1
    Đã được thích:
    0
    Nơi ở:
    Cần Thơ
    Xin chào diễn đàn, em cũng đang tìm hiểu vấn đề này. Em thấy hướng dẫn của anh tuấn là thích hợp nhưng em cần chỉ rỏ hơn, anh co thể chi em qua địa chỉ thanhtucsc@yahoo.com.vn được không, xin chân thành cảm ơn
     
    #12
  13. nguoiconxunui

    nguoiconxunui Khách vãng lai

    Bài viết:
    1,258
    Đã được thích:
    220
    Nơi ở:
    Bình Định
    Gửi bạn file tham khảo theo yêu cầu, ở đây mình không chặn tất cả các lỗi (do trình độ cùi bắp)
     

    Các file đính kèm:

    #13

Chia sẻ trang này