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.
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
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!
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
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
For i = 1 To intRowNo
Ws.Cells(2, 1).EntireRow.Insert
Next
zinzin8x > 19-01-16, 10:57 PM
ongke0711 > 20-01-16, 01:59 PM
jeck09nt > 20-10-16, 11:49 AM
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
conmeocon > 29-04-17, 05:16 PM
vietnc > 15-04-19, 01:09 PM