Tìm thủ thuật nhanh hơn với chức năng tìm trong Blog

11/10/09

Export dữ liệu ra excel

Không phải mọi thứ Access đều có thể giúp được bạn, đôi khi phải vận dụng linh hoạt với Excel.
Câu lệnh Export một đối tượng Access ra Excel

DoCmd.OutputTo Kiểu đối tượng, "tên đối tượng", "MicrosoftExcelBiff8(*.xls)", "", True, "", 0

Ví dụ bạn đẩy một query tên là DThutheothang ra excel:

DoCmd.OutputTo acQuery, "DThutheothang", "MicrosoftExcelBiff8(*.xls)", "", True, "", 0

Thảo luận thêm ở:Diễn đàn Access

14 comments:

  1. Hoặc là:
    DoCmd.TransferSpreadsheet acExport, 8, "qryA", "c:\A.xls", False, ""

    ReplyDelete
  2. Trong trường hợp Export ra excel bị lỗi font Unicode. Bạn có thể tạo 1 macro với Action OutputTo

    ReplyDelete
  3. Chú ý: Bởi vì VBA OutputTo chỉ hỗ trợ bảng ANSI. Nên trong trường hợp xuất dữ liệu từ access ra excel không nhận tiếng Việt. Bạn có thể tạo 1 macro với Action OutputTo. Đảm bảo nhận Font bình thường

    ReplyDelete
  4. Bác Noname kiểm tra xem sử dụng Docmd.TransferSpreadsheet acExport, 9 ,....: không bị lỗi font

    ReplyDelete
  5. Tuy nhiên phương thức TransferSpreadsheet chỉ áp dụng được cho table. Nến nếu user muốn 1 report ra Excel vẫn phải dùng Phương thức OutputTo.
    :)

    ReplyDelete
  6. Dùng Macro với Action Output to nhận font rất tốt (VBA: đều bị lỗi font). Tôi muốn hỏi thêm 2 ý này:
    - Có thể tùy biến đặt tên file Excel được xuất ra được không: chẳng hạn: Excel_ddmmyy (trong Output File của Macro)
    - Nếu nội dung một fields dài, thì khi xuất ra Excel bị cắt bớt đi. Làm thế nào khắc phục tình trạng này.
    Bác Noname chỉ giúp nhé. Thanks.

    ReplyDelete
  7. Việc tùy biến sẵn để can thiệp vào Macro thì mình không biết đến, Tuy nhiên, nếu chừa trống dòng Output File thì nó sẽ hỏi lại tên đặt trước khi xuất ra.

    2. Chỉ có cách bạn kiểm tra và cắt fields đó ra làm 2 trước khi xuất ra! ( thông qua hàm len để kiểm tra độ dài, thông qua các hàm left, right , mid để cắt!)

    ReplyDelete
  8. Tôi là một giáo viên tiểu học, tự học access. Tôi đã xem Câu lệnh Export một đối tượng Access ra Excel, nhưng tôi không biết sử dụng nó như thế nào. Vì khi tôi làm thì nó cứ bắt phải chọn nơi lưu, rồi nó mới mở bảng tính. Xin được hướng dẫn để khi click command
    button thì bảng tính được mở ra ngay, vì những bảng này chỉ làm trung gian, không cần lưu.
    Nếu có thể được, xin cho tôi hướng dẫn cụ thể gửi về :
    longv74@gmail.com
    Hoặc xin hướng dẫn thêm ở trang này.
    Trân trọng kính chào và xin cảm ơn trước.
    Ngày 26 tháng 06 năm 2010.
    Vinh Long.

    ReplyDelete
  9. Thật ra tất cả các kiểu bạn từng thao tác mà không lưu, thực chất đã được chương trình tạo ra 1 file temp nằm đâu đó hoặc trong bộ nhớ! Và bạn không control tốt các file này nó sẽ thành rác trong hệ thống hoặc chiếm ram của bạn. Nếu bạn muốn mở ra ngay thì cho nó lưu đại vào cùng thư mục với chương trình, sau này rảnh quay vào xóa!
    Ví dụ:
    DoCmd.OutputTo acQuery, "DThutheothang", "MicrosoftExcelBiff8(*.xls)", "DThutheothang.xls", True, "", 0

    ReplyDelete
  10. Đánh phách ngẫu nhiên, xuất dữ liệu sang chương trình nhập điểm và ghép điểm vào chương trình quản lý thi

    Cần trợ giúp

    http://www.mediafire.com/?zi3zznto1mm

    ReplyDelete
  11. @123: Mình không giúp bạn được. Lý do mình không có chuyên môn lĩnh vực của bạn. Mình chỉ có thể giúp bạn các thủ thuật bạn cần chứ không thể làm thay ý tưởng của bạn!

    ReplyDelete
  12. Bạn ơi, cho mình hỏi chút
    mình muốn
    "đẩy một query tên là DThutheothang ra excel:

    DoCmd.OutputTo acQuery, "DThutheothang", "MicrosoftExcelBiff8(*.xls)", "", True, "", 0 "
    nhưng file excel đó đã xác định gồm 2 sheet, mình sẽ đẩy nó vào sheet thứ nhất mà ko xóa list thứ 2 thì làm cách nào bạn?
    Thanks

    ReplyDelete
  13. Không có cách nào cả! Bạn có thể đẩy ra một file khác rồi dùng công thức link vào file của bạn

    ReplyDelete
  14. Phần mềm MSchool(Quản lý điểm và xét tốt nghiệp THCS theo TT58 - thông tư áp dụng học kỳ 2 năm học 2011-2012
    http://www.mediafire.com/myfiles.php

    ReplyDelete

» Hãy để lại tên, email của bạn khi bạn post comment, để mình có thể dễ dàng trả lời comment của bạn khi cần.
» Có thể sử dụng các thẻ < b>,< i>,< a>. Và các icon thông dụng trên YM