mrtoanbin > 09-02-20, 05:15 PM
Noname > 11-02-20, 02:48 PM
Noname > 11-02-20, 03:30 PM
tranthanhan1962 > 11-02-20, 04:20 PM
Noname > 11-02-20, 04:38 PM
(11-02-20, 04:20 PM)tranthanhan1962 Đã viết: Sau lại phải dùng code VBA một cách phức tạp đến thế với report.
Thứ nhất vảo fortmat thiết kế trực tiếp là xong.
Thứ hai: trường hợp canh lề theo điều kiện với report mọi việc cũng rất ư là đơn giản.
Report khác với form. Mọi textbox điều được đặt ở các khu vực (section) rất cụ thể, các khu vực này đều có event On Print để xử lý công việc này
Giá trị trọng canh lề của text box như sau:
-Left (canh trái): Tên_textbox.TextAlign = 1
-Right (canh phải): Tên_textbox.TextAlign = 2
-Center (canh giữa): Tên_textbox.TextAlign = 3
-Justify (canh đều hai bên): Tên_textbox.TextAlign = 4 (cái này thì phải viết code vì không có trong thiết kế)
Cú pháp VBA:
Private Sub Tên_section_chứa_textbox_Print(Cancel As Integer, PrintCount As Integer)
Tên_textbox.TextAlign = 1 '(2,3 hoặc 4 tùy trường hợp)
End Sub
Nếu không dùng On Print thì dùng On Format cũng giống như thế.
Ngay cả viết code trên form cũng không ai sử dụng cái modCanhGiuaTheoWidth+Height này cả
Cứ sử dụng On Load hoặc On Open ... Rồi TextAlign =1-2-3-4. Mà cái này cũng không ai thèm làm, vì khi thiết kế chọn một cái là xong.
Trường hợp viết code cho textbox thường là Fore Color hay Back Color, kiểu như >0 màu xanh, <0 màu đỏ...
tranthanhan1962 > 11-02-20, 05:16 PM
(11-02-20, 04:38 PM)Noname Đã viết: Em nghĩ là bạn ấy muốn canh giữa theo chiều cao chứ không theo chiều ngang. Trong Excel thì canh cái này có nút Middle Align ấy, chứ không phải CenterSorry mình hiểu nhầm. Nhưng cái Middle Align for textbox for report này thì thực sự quá khó. Mình nghiên cứu mấy năm nay vẫn chưa ra. . Tìm đủ chỗ vẫn chua thấy ai viết được mã này????
Noname > 11-02-20, 05:49 PM
(11-02-20, 05:16 PM)tranthanhan1962 Đã viết:(11-02-20, 04:38 PM)Noname Đã viết: Em nghĩ là bạn ấy muốn canh giữa theo chiều cao chứ không theo chiều ngang. Trong Excel thì canh cái này có nút Middle Align ấy, chứ không phải CenterSorry mình hiểu nhầm. Nhưng cái Middle Align for textbox for report này thì thực sự quá khó. Mình nghiên cứu mấy năm nay vẫn chưa ra. . Tìm đủ chỗ vẫn chua thấy ai viết được mã này????
mrtoanbin > 11-02-20, 10:43 PM
(11-02-20, 03:30 PM)Noname Đã viết: Mình chưa xem kỹ code của bạn, nhưng nhìn cách gọi code lên trong report thì có thể phán thế này.
Bạn gọi trong event Report_Load => Kết quả là chỉ những giá trị được gọi lên lần đầu tiên được thực thi hàm thôi,
Những giá trị biến thiên nằm trong Detail sẽ chỉ đúng ở dòng đầu tiên, dòng thứ 2 may mắn có cấu trúc giống dòng đầu tiên thì ok, không thì sẽ lấy theo chuẩn của dòng đầu tiên.
Trở lại vấn đề, bạn cần canh giữa chiều cao của Lable trong header và Text.
Phần lable tôi thấy OK vì theo lý luận bên trên, nó không có thay đổi theo detail,
Phần Text thì sẽ nhảy lung tung theo như cách bạn nói "hàng được hàng không được".
Để khắc phục tình trạng này,các hàm dùng cân lable giữ như cũ, bạn cần gọi các hàm cân Text ở sự kiện: Detail_Format của report.
Bệnh sẽ khỏi.
tinhcamangden > 03-11-24, 09:04 PM
(11-02-20, 10:43 PM)mrtoanbin Đã viết:Ban có thế cho mình xin code được không. Minh cũng cần phần này đê nghiên cứu(11-02-20, 03:30 PM)Noname Đã viết: Mình chưa xem kỹ code của bạn, nhưng nhìn cách gọi code lên trong report thì có thể phán thế này.
Bạn gọi trong event Report_Load => Kết quả là chỉ những giá trị được gọi lên lần đầu tiên được thực thi hàm thôi,
Những giá trị biến thiên nằm trong Detail sẽ chỉ đúng ở dòng đầu tiên, dòng thứ 2 may mắn có cấu trúc giống dòng đầu tiên thì ok, không thì sẽ lấy theo chuẩn của dòng đầu tiên.
Trở lại vấn đề, bạn cần canh giữa chiều cao của Lable trong header và Text.
Phần lable tôi thấy OK vì theo lý luận bên trên, nó không có thay đổi theo detail,
Phần Text thì sẽ nhảy lung tung theo như cách bạn nói "hàng được hàng không được".
Để khắc phục tình trạng này,các hàm dùng cân lable giữ như cũ, bạn cần gọi các hàm cân Text ở sự kiện: Detail_Format của report.
Bệnh sẽ khỏi.
VÂNG, CẢM ƠN BÁC Ạ! Bệnh đã khỏi rồi ạ và sinh ra được kháng sinh nữa
ongke0711 > 04-11-24, 03:45 PM
(03-11-24, 09:04 PM)tinhcamangden Đã viết: Ban có thế cho mình xin code được không. Minh cũng cần phần này đê nghiên cứu