• Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    duynghiep89 > 08-01-16, 01:02 AM

    (05-02-15, 01:59 AM)maidinhdan Đã viết: Như lời đã hứa từ những hôm trước hôm nay xin mạo mụi gọi là tổng hợp chứ code không phải tự mình viết, chỉ ngâm cứu chỉnh sửa lại chút để ra thành bài Demo tổng hợp xuất Table, Query sang Excel có điều kiện

    Thông tin về demo:
    1. Xuất từ table ra file Excel theo mẫu Excel có sẳn và tự đặt tên;
    2. Xuất từ Query có đặt điều kiện ra file Excel theo theo mẫu Excel có sẳn và tự đặt tên.



    Form demo
    [Hình: demoxuatfile%20sang%20Access.png]

    Mẫu Excel dựng sẳn
    [Hình: maudemo.png]


    Demo: https://sites.google.com/site/congthucassecc/home/Tong%20hop_Access%20Xuat%20sang%20Excel_VIP.rar?attredirects=0&d=1

    Bổ sung link mediafire: http://www.mediafire.com/download/l40a4z...opass).rar ( Không có đặt pass VBA)

    Nguồn được tổng hợp sưu tầm trên trang thuthuataccess.( Tác giả của code được đính trong demo)
    Pass VBA: ngày mai post. Vì sợ nó chạy lỗi. gần 1 giờ rồi040

    Pass VBA: codobanghiep

    Bổ sung code xuất từ nhiều table/query ra nhiều Sheet Excel
    Đoạn code sau sẽ giúp xuất 2 table vào 1 file Excel theo mẫu, được chỉ định vị trí trước

    Đã test:
    Mã PHP:
    Private Sub cmdExport_Click()
    On Error Resume Next
    Dim db 
    As DAO.Database

    Dim rs1 
    As DAO.Recordset     ' table1'
    Dim rs2 As DAO.Recordset    'table2'

    Dim tb1 As String           ' table1'
    Dim tb2 As String           ' table2'

    Dim oApp As New Excel.Application
    Dim oBook 
    As Excel.Workbook
    Dim oSheet 
    As Excel.Worksheet

       Set oBook 
    oApp.Workbooks.Open(CurrentProject.Path "\Danh sach khach hang.xlt")
       
       tb1 
    "select * from tblKhach"              ' tblKhach là tên table 1'
       tb2 "select * from tblchu"                ' tblchu là tên table 2'
       
       Set oSheet 
    oBook.Sheets("Danh Sach")
       Set db CurrentDb
       
    ' Chép dữ liệu từ table1 vào file Excel bắt đầu từ cột B dòng thứ 7'
       Set rs1 db.OpenRecordset(tb1dbOpenSnapshot)
       oSheet.Range("b7").CopyFromRecordset rs1         'b7: lla cot B dong thu 7'
       ' Chép dữ liệu từ table2 vào file Excel bắt đầu từ cột B dòng thứ 25'
       Set rs2 db.OpenRecordset(tb2dbOpenSnapshot)
       oSheet.Range("b25").CopyFromRecordset rs2       'b25: lla cot B dong thu 25'
    ' Xoa bien va giai phong bo nho dong thoi mo file Excel'
       rs1.Close
       rs2
    .Close
       oApp
    .Visible True
       oApp
    .UserControl True
       db
    .Close
    End Sub 

    Nếu muốn table 2 nạp vào sheet2 chẳng hạn thì thêm đoạn

    Mã PHP:
    Set oSheet oBook.Sheets("Sửa lại tên Sheet2"

    Chèn vào dưới chữ : Chép dữ liệu từ table2 vào file Excel bắt đầu từ cột B dòng thứ 25

    Ứng dụng: Ta có thể Export nhiều Table đến một file Excel theo mẫu dựng sẳn mà trong đó gồm nhiều mẫu báo cáo ( phần này sau khi làm xong Ứng dụng báo cáo thống kê số liệu mình sẽ post một số ảnh minh họa lên để chia sẽ cùng mọi người)

    Nếu không hay xin chém nhẹ tay.


    Chao bạn 

    cho mình hỏi nếu mình muốn xoá những dòng trống khi xuất dữ liệu ra file excel thì phải làm thế nào
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    maidinhdan > 08-01-16, 05:30 PM

    (08-01-16, 01:02 AM)duynghiep89 Đã viết: cho mình hỏi nếu mình muốn xoá những dòng trống khi xuất dữ liệu ra file excel thì phải làm thế nào

    Điều kiện dòng trống ( tức là không có dữ liệu): Bạn thực hiện đưa ra điều kiện trong Query tại cột bạn muốn đặt điều kiện bằng chữ " Not isNull" tức là

    Nếu cột A : có 10 dòng, trong đó chỉ có 5 dòng có dữ liệu, bạn gõ điều kiện là "Not isNull" hoặc Is not null nó sẽ hiển thi 5 dòng thôi.

    Thân mến!
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    duynghiep89 > 08-01-16, 09:19 PM

    (08-01-16, 05:30 PM)maidinhdan Đã viết:
    (08-01-16, 01:02 AM)duynghiep89 Đã viết: cho mình hỏi nếu mình muốn xoá những dòng trống khi xuất dữ liệu ra file excel thì phải làm thế nào

    Điều kiện dòng trống ( tức là không có dữ liệu): Bạn thực hiện đưa ra điều kiện trong Query tại cột bạn muốn đặt điều kiện bằng chữ " Not isNull" tức là

    Nếu cột A : có 10 dòng, trong đó chỉ có 5 dòng có dữ liệu, bạn gõ điều kiện là "Not isNull" hoặc Is not null nó sẽ hiển thi 5 dòng thôi.

    Thân mến!

    Chào bạn
    Chắc tại mình giải thích không rõ, khi có một file excel mẫu vì không biết dữ liệu sẽ dài hay ngắn nên mình sẽ chừa số dòng trống rất nhiều, khi đổ dữ liệu đã xuất từ access trong mình muốn xóa từ dòng trống tới dòng total để form báo cáo sẽ đẹp hơn.... hihi... mình giải thích hơi khó hiểu... bạn tham khảo file đính kèm giúp mình nhé. Cảm ơn bạn nhiều

    http://www.fshare.vn/file/H1EMPEKE1NYM
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    maidinhdan > 08-01-16, 11:40 PM

    (08-01-16, 09:19 PM)duynghiep89 Đã viết: Chào bạn
    Chắc tại mình giải thích không rõ, khi có một file excel mẫu vì không biết dữ liệu sẽ dài hay ngắn nên mình sẽ chừa số dòng trống rất nhiều, khi đổ dữ liệu đã xuất từ access trong mình muốn xóa từ dòng trống tới dòng total để form báo cáo sẽ đẹp hơn.... hihi... mình giải thích hơi khó hiểu... bạn tham khảo file đính kèm giúp mình nhé. Cảm ơn bạn nhiều

    http://www.fshare.vn/file/H1EMPEKE1NYM

    file Excel 2007 không thể hỗ trợ, chỉ hỗ trợ Office 2003.

    Thân mến!
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    ongke0711 > 09-01-16, 12:35 AM

    (08-01-16, 09:19 PM)duynghiep89 Đã viết:
    (08-01-16, 05:30 PM)maidinhdan Đã viết:
    (08-01-16, 01:02 AM)duynghiep89 Đã viết: cho mình hỏi nếu mình muốn xoá những dòng trống khi xuất dữ liệu ra file excel thì phải làm thế nào

    Điều kiện dòng trống ( tức là không có dữ liệu): Bạn thực hiện đưa ra điều kiện trong Query tại cột bạn muốn đặt điều kiện bằng chữ " Not isNull" tức là

    Nếu cột A : có 10 dòng, trong đó chỉ có 5 dòng có dữ liệu, bạn gõ điều kiện là "Not isNull" hoặc Is not null nó sẽ hiển thi 5 dòng thôi.

    Thân mến!

    Chào bạn
    Chắc tại mình giải thích không rõ, khi có một file excel mẫu vì không biết dữ liệu sẽ dài hay ngắn nên mình sẽ chừa số dòng trống rất nhiều, khi đổ dữ liệu đã xuất từ access trong mình muốn xóa từ dòng trống tới dòng total để form báo cáo sẽ đẹp hơn.... hihi... mình giải thích hơi khó hiểu... bạn tham khảo file đính kèm giúp mình nhé. Cảm ơn bạn nhiều

    http://www.fshare.vn/file/H1EMPEKE1NYM

    Có một giải pháp cho trường hợp của bạn. Vi dụ: Dòng tiêu đề nằm bắt đầu ở ô A1. Dòng Total của bạn sẽ nằm cách 1 dòng là A3 và đã có sẳn công thức của bạn. Cách làm là:
    - Đếm số recors trong table hoặc query cần xuất. Vd: intRowNo= rst.RecordCount
    - Bắt đầu ở ô A2 sẽ insert số dòng = intRowNo. Xong
    Bạn thêm dòng code này vô code demo của bác Xuân Thanh (trước dòng code chuyển dữ liệu).
    Mã PHP:
    For 1 To intRowNo
           Ws
    .Cells(21).EntireRow.Insert
       Next 
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    zinzin8x > 19-01-16, 10:57 PM

    Bạn ơi cho mình hỏi giờ mình muốn xuất table ra excel nhưng mà phải đặt được tên tùy ý và lưu vào vị trí tùy ý thì làm thế nào? (file cel ko cần thiêt kê trươc).
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    ongke0711 > 20-01-16, 01:59 PM

    Một cách đơn giản nhất là bạn thay đổi cách thức mở file excel để lưu như trong file demo của bác maidinhdan. Đổi từ Ex.Workbooks.Open (TenFile) --> Ex.Workbooks.Add
    Cách này chương trình chỉ mở file excel mới lên thôi, khi bạn đóng hoặc Save thì Excel sẽ hỏi đường dẫn và tên như cách truyền thống của Excel.
    Lấy ví dụ xuất theo mẫu của bác Xuân Thanh (nút nhấn đầu tiên). Bạn tìm đoạn code:
       Set Wb = Ex.Workbooks.Open(TenFile)
       Set Ws = Wb.Worksheets ("Danh sach")
    Đổi lại thành:
       Set Wb = Ex.Workbooks.Add
       Set Ws = Wb.Worksheets("Sheet1")
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    jeck09nt > 20-10-16, 11:49 AM

    Mình có đoạn code sau xuất ra file Excel theo mẫu nhưng không được :
     
    Mã PHP:
    If StartDate <> "" And EndDate <> "" Then
           Ngayphancong 
    Format(Ngayphancong"dd-mmm-yyyy")
           sCriteria sCriteria " AND qryTransferDataToExcel.Ngayphancong between #" Format(StartDate"dd-mmm-yyyy"_
                       
    "# and #" Format(EndDate"dd-mmm-yyyy") & "#"
       End If 

    Trường StartDate và EndDate  Unbound trên form và được định dạng : dd-mmm-yyyy
    Trường Ngayphancong thuộc qryTransferDataToExcel là ngày tự động lấy từ hệ thống dd/mm/yyy h:ss AM/PM

    Nhờ các bạn xem giúp mình định dạng lại Ngayphancong = "dd-mmm-yyyy" sao vẫn không được ah !
    Xin cám ơn !
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    conmeocon > 29-04-17, 05:16 PM

    Nhờ giúp đỡ:mình muốn thêm công thức hàm Sum sau chổ STT để tính tổng luôn, có cách viết thêm như thế nào không?
    Xin cám ơn
  • RE: Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được

    vietnc > 15-04-19, 01:09 PM

    Mình làm theo code của bác Xuân Thanh nhưng nó báo lỗi này là sao nhỉ, các thư viện mình đã khai báo đầy đủ:
    https://drive.google.com/open?id=11Rz-bz...QVZV4wcJIz