babyrock2009 > 16-09-15, 05:16 PM
tranthanhan1962 > 16-09-15, 06:23 PM
(16-09-15, 05:16 PM)babyrock2009 Đã viết: Mình tạo 1 report lấy query là data liên kết từ các table. Trong report có nhiều field A B C D.... Mình muốn tạo report làm sao để field nào ko có dữ liệu thì nó sẽ tự ẩn đi và report sẽ co lại để ko có khoảng trống của các field đã ẩn đó có được không mọi người ?
chigonvh > 16-09-15, 08:29 PM
tranthanhan1962 > 16-09-15, 10:11 PM
(16-09-15, 08:29 PM)chigonvh Đã viết: Có thể cho ví dụ để tham khảo được không "chú?" tranthanhan1962
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If textbox1.Value <> 0 Then ' Nếu giá trị của textbox1 khác 0
textbox1.Visible = True ' textbox1 hiện hình
textbox2.Left = 800 ' Biên trái của của textbox2 = 800
Else
textbox1.Visible = False ' textbox1 biến mất
textbox2.Left = 0 '' Biên trái của của textbox2 = 0 (thế chổ textbox1 đã biến mất)
End If
End Sub
Yến > 19-10-15, 02:57 PM
tranthanhan1962 > 20-10-15, 12:05 AM
(19-10-15, 02:57 PM)Yến Đã viết: hi anh tranthanhan1962 em đang cần 1 đoạn code để ẩn những ô nào có giá trị = 0, chỉ hiện những ô nào có giá trị thôi ạ.Mình không biết tên field chính thức trong Record Source của bạn như thế nào. Giả sử tên Field của bạn như sau:model = [model]; số luọng bán ra = [SLBR]; hỗ trợ = [HT]; TTL hỗ trợ = [HTLHT].
ví dụ: model số luọng bán ra hỗ trợ TTL hỗ trợ
bột giặt L1 100 100,000 10,000,000
bột giặt L2 80 100,000 8,000,000
nước xả L1 - 50,000 -
nước xả L2 - 60,000 -
Em muốn báo cáo không hiện 2 dòng nước xả L1 và nước xả L2 thì có đoạn code nào không ạ, em cám ơn anh
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If SLBR.Value = 0 Then
Detail.Visible = False
Else
Detail.Visible = True
End If
End Sub
Yến > 04-11-15, 03:32 PM
(20-10-15, 12:05 AM)tranthanhan1962 Đã viết:(19-10-15, 02:57 PM)Yến Đã viết: hi anh tranthanhan1962 em đang cần 1 đoạn code để ẩn những ô nào có giá trị = 0, chỉ hiện những ô nào có giá trị thôi ạ.Mình không biết tên field chính thức trong Record Source của bạn như thế nào. Giả sử tên Field của bạn như sau:model = [model]; số luọng bán ra = [SLBR]; hỗ trợ = [HT]; TTL hỗ trợ = [HTLHT].
ví dụ: model số luọng bán ra hỗ trợ TTL hỗ trợ
bột giặt L1 100 100,000 10,000,000
bột giặt L2 80 100,000 8,000,000
nước xả L1 - 50,000 -
nước xả L2 - 60,000 -
Em muốn báo cáo không hiện 2 dòng nước xả L1 và nước xả L2 thì có đoạn code nào không ạ, em cám ơn anh
Có 2 cách để xử lý:
1/ Xử lý bằng Detail_Format. Khi SLBR = 0 nó sẽ định dạng ẩn Detail.
Đưa code này vào module của report
Mã:Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If SLBR.Value = 0 Then
Detail.Visible = False
Else
Detail.Visible = True
End If
End Sub
2/ Xử lý bằng properties Can Shrink của textbox
Với phương pháp này phải tạo các công thức cho các textbox. Khi SLBR = 0 tất cả các textbox đều có giá trị Null để khi Can Shrink của các textbox = Yes nó sẽ co lại'
Ví dụ:
Model_text = IIf([SLBR]=0;Null; [model])
SLBR_text = IIf([SLBR]=0;Null;Format([SLBR];"#,##0"))
HT_text = IIf([SLBR]=0;Null;Format([HT];"#,##0"))
HTLHT_text = IIf([SLBR]=0;Null;Format([HTLHT];"#,##0"))
Thiết đặt Can Shrink của các textbox trên là Yes (mà cái này gọi là ẩn record theo điều kiện thì đúng hơn)
Còn một cách nữa là bạn tạo query điều kiện loại trừ luôn SLBR = 0 làm record source cho report cũng xử lý được.
Chúc bạn thành công