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
Mẫu Excel dựng sẳn
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ồi
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(tb1, dbOpenSnapshot)
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(tb2, dbOpenSnapshot)
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.