ledangvan > 26-04-12, 10:35 AM
(25-04-12, 10:52 PM)quoctrong_2311 Đã viết: 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. . Thank bạn!
quoctrong_2311 > 30-04-12, 05:06 PM
sagiang3888 > 19-09-12, 04:42 PM
(09-08-10, 02:17 AM)Noname Đã viết: 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
Download Demo
cpucloi > 21-09-12, 04:14 PM
gialilama > 22-09-12, 03:49 PM
sagiang3888 > 24-09-12, 05:38 PM
cpucloi > 21-10-12, 07:35 PM
hpolice26041993 > 13-07-16, 11:07 AM
cpucloi > 15-07-16, 08:51 AM
NGÔ BẮP > 15-12-19, 09:19 PM
(27-10-11, 01:55 PM)Noname Đã viết: Cú Pháp
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).Mã:Line( Left, Top) - Step(Width, Height),Màu,BF
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
(19-03-12, 11:04 PM)bwomdem Đã viết: 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!
(22-09-12, 03:49 PM)gialilama Đã viết: Topic này thật là cần thiết trong quá trình làm báo cáo, các mem có thể cố gắng hoàn thiện.
Trong thực tế một số trường có độ rộng lớn, để hiển thị hết dữ liệu khi làm report thì ta thường để 2 hay 3 dòng. Như vậy khi dữ liệu trong báo cáo chỉ có một dòng thì nhìn báo cáo rất thưa, mất tính mỹ quan.
Điều quan trọng nhất là các chữ ký thường nhảy sang trang khác một mình. mỗi lúc như vậy lại quay trở lại design sửa. Nếu như vậy đối với nhưng file MDE thì người dùng làm thế nào?
Rất mong các Mem chia sẻ vấn đề này: