• ẩn field ko có trong report
  • ẩn field ko có trong report

    babyrock2009 > 16-09-15, 05:16 PM

    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 ?
  • RE: ẩn field ko có trong report

    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 ?

    Được thì được đó. Viết code đưa vào event On format. Nhưng mà record này có, record kia không, ô nầy bung ra ô kia co lại trật lất với tiêu đề nhìn sao được.
  • RE: ẩn field ko có trong report

    chigonvh > 16-09-15, 08:29 PM

    Có thể cho ví dụ để tham khảo được không "chú?" tranthanhan1962
  • RE: ẩn field ko có trong report

    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

    Ví dụ: Trên detail của report ta có các textbox1, textbox2 …
     Trong thiết kế textbox1 có left =0, textbox2 có left =800 (Giả sử control source của text box1 này là number)
    Chèn code sau để thay đổi vị trí khi textbox1 có giá trị <> 0 sẽ hiện ra và các textbox sẽ nằm đúng vị trí, còn khi bằng 0 sẻ bị ẩn và textbox2 sẽ nhảy vào thay thế vị trí của nó.

    Mã PHP:
    Private Sub Detail_Format(Cancel As IntegerFormatCount 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 '' Biên trái của của textbox2 (thế chổ textbox1 đã biến mất)
         End If 
    End Sub 

    Bạn từ từ nghiên cứu nhé
  • RE: ẩn field ko có trong report

    Yến > 19-10-15, 02:57 PM

    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 ạ. 
    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  007
  • RE: ẩn field ko có trong report

    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 ạ. 
    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  007
    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].
    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
  • RE: ẩn field ko có trong report

    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 ạ. 
    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  007
    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].
    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


    Em cám ơn anh nhiều nha, anh có thể chỉ em luôn cách tạo query loại bỏ 0 được không anh. em mới mày mò, ngâm cứu access thôi ạ.
    cám ơn anh.