-
Demo Hàm report tự canh đều chiều cao ( Không kẻ line))
maidinhdan > 23-09-16, 05:11 PM
Rãnh rỗi sinh nông nổi: Trước bài viết này đã có 01 bài viết về " Tạo report có chiều cao co dãn theo dữ liệu " và với cách này thì chúng ta phải vẽ line ( vẽ đường vẽ cho nó). Từ những trăn trở đó, tôi cố đã tổng hợp được 1 hàm tự động mà chẳng cần khéo tay hay kẻ từng đoạn để canh chỉnh chiều cao của cái report nửa.
Demo_hàm cho report tự canh đều chiều cao theo chữ
Công dụng:
- Tìm cột có độ cao cao nhất để lấy nó làm chuẩn để chỉnh các cột còn lại cân bằng theo
Khả năng ứng dụng:
- Ứng dụng để canh độ cao của report
Hạn chế:
- Chưa biết
Code sử dụng:
1. Hàm Điều chỉnh độ cao
2. Hàm tìm chiều cao nhất của 1 dòng record
Cách gọi sử dụng, như Hình minh họa:
*************Chúng ta chỉ việc copy đoạn code sau vào bất kỳ report nào và thay vào đó là txt1, txt2, txt3 ( nhiều cột hơn thì cứ tạo thêm dòng dưới đó)
*************Nhớ là cũng cần import cái modules nửa nhé
Mã PHP:Private Sub Detail_Print(ByRef intCancel As Integer, ByRef intPrintCount As Integer)
Dim lm As Long
lm = Hamchieucaonhat(acDetail)
' Dien ten cot can can bang do cao o duoi day: txt1, txt2, txt3
Dieuchinhchieucao Me.txt1, lm, 0, 0, 0, 0, 0, vbRed
Dieuchinhchieucao Me.txt2, lm, 0, 0, 0, 0, 0, vbGreen
Dieuchinhchieucao Me.txt3, lm, 0, 0, 0, 0, 0, vbBlue
End Sub
Private Function Hamchieucaonhat(ByVal intSection As Integer) As Long
Dim lngHeight As Long
Dim ctlControl As Control
For Each ctlControl In Me.Section(intSection).Controls
If ctlControl.ControlType = acTextBox Then
If ctlControl.Height > lngHeight Then
lngHeight = ctlControl.Height
End If
End If
Next ctlControl
Hamchieucaonhat = lngHeight
End Function
Lưu ý: nếu gặp lỗi dòng đầu tiên không hiện hết chữ thì chọn 3 Textbox đó và đi đến Properties/ dòng Back Style: Sửa chữ Solid thành Transparent
Thân mến!
Vui lòng để lại Email để nhận file không khóa pass VBA. -
RE: Demo hàm cho report tự canh đều chiều cao
kinggai > 23-09-16, 06:53 PM
bac cho e xin pass vba: chomsaonhanma@gmail.com -
RE: Demo hàm cho report tự canh đều chiều cao
Nguyen Hoang Diep > 23-09-16, 07:56 PM
Bác maidinhdan cho mình xin pass vba với nhé: diepmhb@yahoo.com
Xin cảm ơn bác. -
RE: Demo hàm cho report tự canh đều chiều cao
maidinhdan > 23-09-16, 08:25 PM
-
RE: Demo hàm cho report tự canh đều chiều cao
toancvp > 23-09-16, 09:44 PM
Bác Dân ơi, em đang cần cái này lắm, nhưng lại hơi khác 1 chút, bác có cách nào tùy biến được giúp em ko ạ?
Em tính thiết kế 1 form lọc dữ liệu dùng Query làm SourceObject cho Subform, các dữ liệu này toàn là text nên cũng sẽ cần tự động điều chỉnh chiều cao của record cho phù hợp.
Vì cái này là form chứ ko phải report nên chưa biết tùy biến ra sao, bác chỉ cách em với. -
RE: Demo hàm cho report tự canh đều chiều cao
maidinhdan > 24-09-16, 12:16 AM
(23-09-16, 09:44 PM)toancvp Đã viết: Bác Dân ơi, em đang cần cái này lắm, nhưng lại hơi khác 1 chút, bác có cách nào tùy biến được giúp em ko ạ?
Em tính thiết kế 1 form lọc dữ liệu dùng Query làm SourceObject cho Subform, các dữ liệu này toàn là text nên cũng sẽ cần tự động điều chỉnh chiều cao của record cho phù hợp.
Vì cái này là form chứ ko phải report nên chưa biết tùy biến ra sao, bác chỉ cách em với.
Code này không thể áp dụng cho co giản text trên form được.
Để hiện text đối với textbox kiểu memo tức là quá nhiều chữ tạ dùng sự kiện DblClick
Mã PHP:Private Sub Diachia_DblClick(Cancel As Integer)
DoCmd.RunCommand acCmdZoomBox
End Sub
Ở đây Diachi là ô tetxbox khi ta nhấn 2 lần vào ô Địa chỉ sẽ hiện 1 bản Zoom cho ta thấy hết.
Thân! -
RE: Demo hàm cho report tự canh đều chiều cao
toancvp > 24-09-16, 01:33 PM
Thế ạ, vâng ok bác, để em thử. Cũng tại vì ý tưởng thiết kế mới ở trong đầu chứ chưa bắt tay thực hiện nên chưa gấp rút tìm kiếm, bác thông cảm cho em
. Em vẫn còn đang trong giai đoạn nghĩ nên thiết kế table như thế nào cho đúng ý tưởng.
-
RE: Demo hàm cho report tự canh đều chiều cao
toancvp > 26-09-16, 12:30 AM
Quên khuấy đi mất, bác Dân cho em xin pass VBA vào mail nhatki001@gmail.com với ạ. -
RE: Demo hàm cho report tự canh đều chiều cao
toancvp > 26-09-16, 01:55 AM
Bác ơi em làm không được rồi, em không biết cho vào event nào của form cho nó phù hợp được cả. Bác xem qua file này giúp em với ạ.
https://drive.google.com/open?id=0B5rfqy...kI1U0NfX0k