Đánh giá chủ đề:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Export dữ liệu sang Word ( Nhiều dòng trong sub)
#11
File xuất sang Word của bạn hugox03 đây: Xuất sang Word

Chúc vui!
Chữ ký của nhannt4 Xin chào, mình là nhannt4, Tham gia http://thuthuataccess.com/forum từ ngày 22-07 -12.
Reply
Những người đã cảm ơn hugox03 , dangh5
#12
(20-03-14, 08:18 PM)nhannt4 Đã viết: Gợi ý:
- Thường thì bạn query để xuất ra Report đúng không? Thế thì bạn sử dụng câu lệnh trong VBA dạng "SELECT ... INTO <table> WHERE... ORDER BY..." để tạo ra một table từ dữ liệu của Query (tất nhiên là được sắp xếp giống hết Query.
- Dùng Code VBA để đọc từ dòng của table và xuất ra Word, xuất ra theo Field hoặc theo dòng của table đều được (tuy có chậm (vì tương tác với chương trình ngoài) nhưng rất đẹp (vì định dạng Word mà!)).

Đây là file Demo của mình.

P/S: Do mình sử dụng MS Word 2010 nên nếu bạn sử dụng MS Word 2003 xuất ra sẽ bị lỗi. Cách khắc phục là vào cửa sổ VBA -> chọn Tools -> References... -> Rồi đánh dấu vào Microsoft Word x (với x là phiên bản MS Word máy bạn đang sử dụng).

Chúc thành công.

Cảm ơn bạn đã chia sẽ. Nhưng Mình muốn xuất từ Reports sang word thì code VB như thế nào vậy bạn, mình Up file của mình lên bạn làm ví dụ cho mình với.

file của mình

Khi mở ra, chọn in kết quả, thì bảng Report sẽ hiện, và từ đó xuất ra word.; Lưu ý ở chổ đường kẻ ô,
Chữ ký của danhxetnghiem Đừng bao giờ so sánh đoạn đầu của bạn với đoạn giữa của người khác
Reply
Những người đã cảm ơn
#13
Thì bạn xem code Demo ở trên rồi ứng dụng vô CT của bạn.
Lúc này nó ko liên quan gì đến Report của bạn mà nó sử dụng dữ liệu đã truy vấn rồi xuất sang Word (file đã tạo theo mẫu định trước). Cách làm đơn giản chứ có gì mà phức tạp?
Còn xuất thẳng từ Report Access sang Word (hoặc Excel) mà giữ nguyên định dạng thì mình chưa thấy tư liệu hướng dẫn.

Do mình ko có thời gian nên không thể ngồi code chi tiết xuất dữ liệu sang Word chương trình của bạn được. Chương trình Demo của mình đã chi tiết lắm rồi. Bạn xem kỹ lại rồi làm thử xem.

Chúc thành công.
Chữ ký của nhannt4 Xin chào, mình là nhannt4, Tham gia http://thuthuataccess.com/forum từ ngày 22-07 -12.
Reply
Những người đã cảm ơn maidinhdan , dangh5
#14
nhìn thấy các bạn viết code hay quá ! Mình muốn học nhưng không biết chỗ nào học và học từ đâu ?
ღღღღღTài sản của hugox03 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#15
Thì xem tài liệu là học từ ... diễn đàn này đi bạn.
Chữ ký của nhannt4 Xin chào, mình là nhannt4, Tham gia http://thuthuataccess.com/forum từ ngày 22-07 -12.
Reply
Những người đã cảm ơn
#16
nhannt4 cho mình hỏi table tblInhoadon này làm nhu thế nào vậy ?
ღღღღღTài sản của hugox03 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#17
(24-03-14, 12:27 PM)hugox03 Đã viết: nhannt4 cho mình hỏi table tblInhoadon này làm nhu thế nào vậy ?

Bạn xem đoạn code :
Mã PHP:
stSQl "SELECT tblXuatHang.TenKH, tblHangHoa.MaHH, tblHangHoa.TenHH, tblHangHoa.Maloaihang, tblXuatHangChiTiet.Soluong, tblXuatHangChiTiet.Donvi, tblXuatHangChiTiet.DonGia, [Soluong]*[Dongia] AS Thanhtien Into tblInhoadon " _
    
"FROM tblXuatHang INNER JOIN (tblHangHoa INNER JOIN tblXuatHangChiTiet ON tblHangHoa.MaHH = tblXuatHangChiTiet.MaHH) ON tblXuatHang.SoHD = tblXuatHangChiTiet.SoHD WHERE tblXuatHang.SoHD = '" SoHD.Value "';"
    
DoCmd.SetWarnings False
    DoCmd
.RunSQL stSQl
    DoCmd
.SetWarnings True 

Lệnh trên là tạo ra table tblInhoadon theo một điều kiện "SoHD"
Chữ ký của nhannt4 Xin chào, mình là nhannt4, Tham gia http://thuthuataccess.com/forum từ ngày 22-07 -12.
Reply
Những người đã cảm ơn
#18
Cám ơn bạn nhiều !
Cho mình hỏi mẫu Word mình phải làm sao để các thông số được điền vào đúng các ô ? Tại sao phải kẻ khung ? Cách làm như thế nào vậy ? Xin lỗi làm phiền bạn giúp mình với ! 015
ღღღღღTài sản của hugox03 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#19
Bạn xem code bên Module ToWordHoadon đó.
- Mỗi một Table trong file Word sẽ có thứ tự là table(1), table (2)... xếp từ trên xuống dưới.
- Trong mỗi Table sẽ có các ô (cel) được xác định bởi các dòng (row) và cột (column).
Khi đó ta sẽ tạo ra các table có các dòng, các cột xác định trong Word và dựa vào đó để tính toán và có giải thuật xuất dữ liệu ra đúng vị trí ta cần.

Còn kẻ khung hay không kẻ khung thì tùy vào nhu cầu của mình. Cái nào muốn cho xuất hiện khung thì Format để khung, không thì Format No Border.

Nói chung là xuất Report ra Word thì chúng ta trình bày báo cáo sẽ đẹp mắt hơn, có nhiều tùy chn hơn. Nhưng hạn chế là tốc độ sẽ chậm hơn Report trong Access (dĩ nhiên, vì tương tác với chương trình ngoài mà!)

Chúc thành công.
Chữ ký của nhannt4 Xin chào, mình là nhannt4, Tham gia http://thuthuataccess.com/forum từ ngày 22-07 -12.
Reply
Những người đã cảm ơn hugox03 , maidinhdan
#20
Còn việc này mình muốn hỏi nữa !
hàng ( Tổng Cộng : )
+Nếu mình muốn thêm 1 hàng nữa như : tiền thuế , đã đưa , còn lại (Tổng cộng + Thuế - Đã trả = còn lại ). Thì mình sữa hoặc thêm chỗ nào vậy ?

Mã PHP:
2
    Tong 
0
    
Do While Not rst.EOF
                
        doc
.ActiveDocument.Tables(2).Cell(i1).Range.text rst.Fields![MaHH].Value
        doc
.ActiveDocument.Tables(2).Cell(i2).Range.text rst.Fields![TenHH].Value
        doc
.ActiveDocument.Tables(2).Cell(i3).Range.text rst.Fields![Maloaihang].Value
        doc
.ActiveDocument.Tables(2).Cell(i4).Range.text rst.Fields![SoLuong].Value
        doc
.ActiveDocument.Tables(2).Cell(i5).Range.text rst.Fields![Donvi].Value
        doc
.ActiveDocument.Tables(2).Cell(i6).Range.text Format(rst.Fields![DonGia].Value"##,##0")
        
doc.ActiveDocument.Tables(2).Cell(i7).Range.text Format(rst.Fields![ThanhTien].Value"##,##0")
        
Tong Tong rst.Fields![ThanhTien].Value
        i 
1
        
        rst
.MoveNext
                
        
If Not rst.EOF Then doc.ActiveDocument.Tables(2).Rows.Add
        
    Loop
    doc
.ActiveDocument.Tables(2).Rows.Add
    doc
.ActiveDocument.Tables(2).Cell(Row:=iColumn:=1).Merge MergeTo:=doc.ActiveDocument.Tables(2).Cell(Row:=iColumn:=6)
    
doc.ActiveDocument.Tables(2).Cell(Row:=iColumn:=1).Range.Font.Size 13
    doc
.ActiveDocument.Tables(2).Cell(Row:=iColumn:=1).Range.Font.Italic False
    doc
.ActiveDocument.Tables(2).Cell(Row:=iColumn:=1).Range.Font.Bold True
    doc
.ActiveDocument.Tables(2).Cell(Row:=iColumn:=1).Range.ParagraphFormat.Alignment wdAlignParagraphCenter
    doc
.ActiveDocument.Tables(2).Cell(Row:=iColumn:=1).Range.text Form_FormTam.lbTongcong.Caption
    doc
.ActiveDocument.Tables(2).Cell(Row:=iColumn:=2).Range.Font.Bold True
    doc
.ActiveDocument.Tables(2).Cell(Row:=iColumn:=2).Range.text Format(Tong"##,##0"
ღღღღღTài sản của hugox03 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Cài đặt ODBC -nền tảng kết nối Access và nguồn dữ liệu khác Noname 33 19,313 01-12-16, 06:49 PM
Bài mới nhất: atula77
  Xây dựng Class Modules trong Access ( Cơ bản đến Nâng cao) maidinhdan 2 184 13-11-16, 05:32 PM
Bài mới nhất: cpucloi
  [Help] SQL lỗi khi tham chiếu trường trong Forms Phung Duc 1 73 02-11-16, 03:17 PM
Bài mới nhất: Minh Tiên
  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 maidinhdan 18 2,791 20-10-16, 11:51 AM
Bài mới nhất: jeck09nt
  Ms Access VBA và Google drive, một vài ý tưởng trong chia sẻ và đồng bộ số liệu... paulsteigel 46 3,857 07-10-16, 02:43 PM
Bài mới nhất: kieu manh

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ơ