Đánh giá chủ đề:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hướng dẫn] Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được
#11
(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
Chữ ký của duynghiep89 duynghiep89,gia nhập Thủ Thuật Access từ 17-12 -15.
Reply
Những người đã cảm ơn
#12
(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ữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#13
(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
Chữ ký của duynghiep89 duynghiep89,gia nhập Thủ Thuật Access từ 17-12 -15.
Reply
Những người đã cảm ơn
#14
(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!
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#15
(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 
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan
#16
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).
Chữ ký của zinzin8x zinzin8x,gia nhập Thủ Thuật Access từ 19-01 -16.
Reply
Những người đã cảm ơn
#17
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")
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , jeck09nt
#18
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 !
Chữ ký của jeck09nt Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#19
Trường StartDate và EndDate là  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/yyyy h:ss AM/PM khi nhập liệu
Chữ ký của jeck09nt Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Xuất từ Access ra excel mà không cần phải có file định sẵn trungminh 3 351 18-09-16, 02:33 AM
Bài mới nhất: maidinhdan
  [Hỏi] Xuất dữ liệu từ Access ra Excel bị ẩn cột Minh Tiên 0 133 02-09-16, 05:38 PM
Bài mới nhất: Minh Tiên
  Export dữ liệu sang Word ( Nhiều dòng trong sub) danhxetnghiem 26 3,082 01-08-16, 11:08 AM
Bài mới nhất: jeck09nt
  Một số kinh nghiệm khi viết ứng dụng truy xuất dữ liệu qua mạng internet lehongduc 4 355 24-06-16, 02:31 PM
Bài mới nhất: lehongduc
  Hướng Dẫn Demo Duyệt Web bằng Access maidinhdan 4 762 04-05-16, 10:13 PM
Bài mới nhất: quanghoasla

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ