Thủ Thuật Access

Thế Giới Thủ Thuật với Access

Tạo report có chiều cao co dãn theo dữ liệu

Posted by Noname on 10.11.2009

Trong khi làm report. Có những dữ liệu vượt quá chiều ngang của field trình bày. Nhưng nếu ta set cho field đó có khả năng can grow thì nó sẽ nhảy dòng, làm lệch các khung ta đã canh chỉnh.Những người có kinh nghiệm giải quyết bằng cách chừa 1 khoảng trống đủ lớn để không bị “rớt dòng” đại loại như thế! Tuy nhiên, nếu không có dữ liệu nào thừa rớt dòng thì khoảng trống đó lãng phí trong report!

Vấn đề đặt ra là làm cách nào để report có thể tự do dãn chiều cao ở mỗi dòng khác nhau cho phù hợp với dữ liệu

Mình gợi ý theo một hướng khác là ta dùng hàm line để vẽ các đối tượng draw trên report, như vậy bạn sẽ có các đường kẻ đứng co dãn theo field.
Dưới đây là ví dụ mình sẽ vẽ hai đường thẳng đứng tự co dãn, bạn về tùy biến cho phù hợp nha

Code:
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
Me.Line (0, 0)-Step(0.01 * 567, 56 * 567), , BF
Me.Line (3 * 567, 0)-Step(0.01 * 567, 56 * 567), , BF

End Sub

Copy dòng code vào thủ tục Detail_Print cuả report:
– Bạn print preview sẽ có 2 đường thẳng rộng 0.01cm, chiều dài bằng chiều cao phần detail (đã co dãn, tối đa là 56cm). 2 đường có top-đỉnh là 0 cm, mép trái là 0cm và 3cm.

– Code trong report của Access dùng đơn vị twip, 1cm=567twips
 Các đường ngang bạn chỉ cần vẽ 1 đường có Top=0, left=0 và chiều dài bằng chiều dài report ở phần detail.
Copy 1 đường tương tự cho các Group Footer và Report Footer như vậy bạn đã có thể co giãn như ý rồi


DownLoad Chương trình demo

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

 
%d bloggers like this: