Đánh giá chủ đề:
  • 7 Votes - 3.71 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tạo report có chiều cao co dãn theo dữ liệu
#1
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:

Mã:
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

[Hình: reporttest.JPG]

Download Demo
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
#2
Hi, mình đã làm theo hướng dẫn, khi xem ở chế độ view thì tốt, nhưng khi in thì một số line bị mất (không in ra), như vậy là bị sao? có giải pháp gì không hả bạn? 52_52
Chữ ký của thang2301 Xin chào, mình là thang2301, Tham gia http://thuthuataccess.com/forum từ ngày 16-06 -11.
Reply
Những người đã cảm ơn
#3
Bạn thay số 0.01 bằng một số lớn hơn thử! 0.02 chẳng hạn
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
sao em lam theo thuong dan roi ma no khong duoc mong cac bac giup em voi!
Chữ ký của timhoasen Xin chào, mình là timhoasen, Tham gia http://thuthuataccess.com/forum từ ngày 26-10 -11.
Reply
Những người đã cảm ơn
#5
Chỉnh khung chuẩn ở kích cở chữ nào đấy rồi nhân bản ra, ví dụ khung số lương thường hàng đơn vị đến trăm ngàn, đơn giá hàng đơn vị đến chục tỷ, thành tiền hàng đơn vị đến ngàn tỷ,... theo thực tế khảo sát ta tạo sẵn khung chuẩn.
Mình thường làm mỗi thứ 1 khung chuẩn ở kích cở là ở 8-9-10-11-12 rồi copy nhân bản khi cần, cũng ko mất thời gian mấy. Chúc vui!
Chữ ký của KínhCận 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
#6
các pro có thể giải thích qua
Me.Line (0, 0)-Step(0.01 * 567, 56 * 567), , BF
Me.Line (1 * 567, 0)-Step(0.01 * 567, 56 * 567), , BF
Me.Line (5 * 567, 0)-Step(0.01 * 567, 56 * 567), , BF
Me.Line (9 * 567, 0)-Step(0.01 * 567, 56 * 567), , BF
Me.Line (13 * 567, 0)-Step(0.01 * 567, 56 * 567), , BF
Me.Line (17 * 567, 0)-Step(0.01 * 567, 56 * 567), , BF

đó là các line nào ?
Chữ ký của quanghoasla Hãy chia sẻ kinh nghiệm cùng mình trênThuThuatAccess nhé! Chúc vui vẻ rose
My site: My site hoặc My site
ღღღღღTài sản của quanghoasla (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#7
Cú Pháp
Mã:
Line( Left, Top) - Step(Width, Height),Màu,BF
Có thể thay BF bằng B (kẻ hình chữ nhật, tham số F để thêm màu sắc ruột hình chữ nhật).


Me.Line (13 * 567, 0)-Step(0.01 * 567, 56 * 567), , BF

Có nghĩa là: Kẻ một đường thẳng có Top =0, Left=13, rộng 0.01, chiều cao tùy theo chiều cao của detail nhưng tối đa là 56

Các đơn vị trên tính bằng Cm
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn quanghoasla
#8
Thanks noname nhiều. Mình thử cắt đoạn lệnh đi thì các line tương tự sẽ ẩn hoặc hiện tùy theo ý của mình.
Chữ ký của quanghoasla Hãy chia sẻ kinh nghiệm cùng mình trênThuThuatAccess nhé! Chúc vui vẻ rose
My site: My site hoặc My site
ღღღღღTài sản của quanghoasla (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#9
Mình copy trên mạng cái sub này:

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
Me.ScaleMode = 1
Me.ForeColor = 0
'Repeat the following line of code for each vertical line
' 1*1440 represents 1 inch
Me.Line (0 * 1440, 0)-(0 * 1440, 14400) 'Draws line at Left Margin
Me.Line (0.25 * 1440, 0)-(0.25 * 1440, 14400)
Me.Line (3.0417 * 1440, 0)-(3.0417 * 1440, 14400)
Me.Line (3.9167 * 1440, 0)-(3.9167 * 1440, 14400)
Me.Line (4.9167 * 1440, 0)-(4.9167 * 1440, 14400)
Me.Line (5.9063 * 1440, 0)-(5.9063 * 1440, 14400)

End Sub

Các bạn thay số đầu tiên (sau dấu mở ngoặc) bằng left của TextBox là chuẩn luôn.
Good luck!
Chữ ký của bwomdem Xin chào, mình là bwomdem, Tham gia http://thuthuataccess.com/forum từ ngày 19-03 -12.
Reply
Những người đã cảm ơn
#10
mình đọc được bài của bạn viết về "Tạo report có chiều cao co dãn theo dữ liệu", mình mới tự mò học Access được 1 tuần, mình không biết mở phần nào trên report để copy đoạn code của bạn, bạn có thể hướng dẫn chi tiết cho mình không. ví dụ như: vào đâu, chọn dòng chữ gì VV.. Mình gà lắm, bạn đừng cười ngen.Tongue_smileTongue_smileTongue_smileTongue_smile . Thank bạn!
Chữ ký của quoctrong_2311 Cố lên! không gì là không thể
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
  Hướng Dẫn Cách sắp xếp report? tieuho828 0 18 03-12-16, 09:05 PM
Bài mới nhất: tieuho828
  [Help] Xin Giúp đỡ Dàn Report theo hàng ngang toi511 2 136 03-11-16, 01:10 PM
Bài mới nhất: toi511
  [Help] Sắp xếp dữ liệu trong báo cáo hoanghai902 2 86 03-11-16, 01:22 AM
Bài mới nhất: maidinhdan
  Hướng Dẫn Cú pháp mở Report có nhiều điều kiện GaDauBac 7 250 22-10-16, 01:08 AM
Bài mới nhất: maidinhdan
  Hướng Dẫn Tạo Report theo Combobox trong Form thangbomdethuong2000 7 286 20-10-16, 08:41 PM
Bài mới nhất: thangbomdethuong2000

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ơ