• Lỗi #error khi trống dữ liệu
  • RE: Lỗi #error khi trống dữ liệu

    ongke0711 > 31-03-16, 09:20 PM

    Hàm Nz bạn dùng có thêm Optional ValueIfNull là 0 không? 
    Nz([Field1],0)
    Nếu không có giá trị 0, nó có thể trả về default value là 0 hoặc chuỗi rỗng "".
  • RE: Lỗi #error khi trống dữ liệu

    thanhtruong > 01-04-16, 04:08 PM

    (31-03-16, 09:20 PM)ongke0711 Đã viết: Hàm Nz bạn dùng có thêm Optional ValueIfNull là 0 không? 
    Nz([Field1],0)
    Nếu không có giá trị 0, nó có thể trả về default value là 0 hoặc chuỗi rỗng "".

    thêm giá trị 0 nó vẫn bị #error, có cách nào để cộng mà dữ liệu nào trống thì nó tính bằng không không nhỉ? mình nghĩ chỉ cách đó mới được
  • RE: Lỗi #error khi trống dữ liệu

    ongke0711 > 01-04-16, 04:25 PM

    Vậy trường hợp của bạn là có subreport không có record nào nên nó không Sum được?
    Bạn dùng công thức này cho textbox Sum ở subreport:
    =IIF([Report].[HasData], Sum(textbox gì đó),0)
  • RE: Lỗi #error khi trống dữ liệu

    thanhtruong > 01-04-16, 05:33 PM

    (01-04-16, 04:25 PM)ongke0711 Đã viết: Vậy trường hợp của bạn là có subreport không có record nào nên nó không Sum được?
    Bạn dùng công thức này cho textbox Sum ở subreport:
    =IIF([Report].[HasData], Sum(textbox gì đó),0)

    Đúng, Mình chỉ có subreport, không có record nào, để mình thử xem sao
  • RE: Lỗi #error khi trống dữ liệu

    thanhtruong > 02-04-16, 12:35 PM

    vẫn không được

    Ở subreport thì được, còn ở report chính, ta tạo textbox = ô tính tổng trong subreport, thì báo là #error nếu subreport đó không có dữ liệu.

    nghĩa là khi subreport rỗng không có gì! nếu ta thực hiện công thức = 1 ô trong đó, thì nó không nhận ra 1 ô nào trong đó, nên nó báo lỗi

    vấn đề bây giờ là làm sao để subreport = rỗng, thì textbox = ô 1 ô nào đó trong subreport bằng không?
  • RE: Lỗi #error khi trống dữ liệu

    ongke0711 > 02-04-16, 04:16 PM

    Sao bạn không dùng công thức cho textbox của main report nhưng tham chiếu cho đến subreport luôn xem thử. Dùng kết hợp với Nz luôn.
    =IIF(Me!SubReport.Report.HasData, Sum(Nz(textbox,0)),0)
  • RE: Lỗi #error khi trống dữ liệu

    paulsteigel > 02-04-16, 07:26 PM

    (02-04-16, 12:35 PM)thanhtruong Đã viết: ...
    Lỗi này chỉ xuất hiện khi báo cáo không có số liệu. Để tránh điều này, Access có một thuộc tính HasData để kiểm tra và cách làm thế này nhé
    Thay vì =Sum([Thanhtien])
    Bạn dùng thế này
    =IIf([BaoCao].[HasData], Sum([Thanhtien]), 0)
    Thì sẽ không bị lỗi này nữa.
    Lưu ý là trên form cũng có thể bị như vậy, tuy nhiên Access2007/2010 bị lỗi với Form nên HasData không làm việc như ý, bạn sẽ phải tự thiết kế một thủ tục FormHasData riêng cho form của mình nhé.
    Hy vọng giúp được bạn.
  • RE: Lỗi #error khi trống dữ liệu

    thanhtruong > 03-04-16, 07:33 PM

    mình đã làm được. và làm thế này
    tại 1 textbox trên main report
    = iif(subreport.report.hasdata, nz(subreport.report!thanhtien,0),0)
    cảm ơn mọi người nhiều! đúng là access thật phong phú và thú vị.
  • RE: Lỗi #error khi trống dữ liệu

    thanhtruong > 03-04-16, 07:40 PM

    ah. có phải khi mình tạo report chứa subreport nhiều thì nó sẽ hiện trang in nhiều không hả mọi người,
    vì khi mình bấm in, thì nó hiện đến 13 trang giống y như nhau vậy, vậy có cách nào chỉ còn 1 trang in như những report bình thường không, chứ sợ mỗi lần in mà quên bấm 1 trang là nó ra 13 trang luôn là chết. hihi.
  • RE: Lỗi #error khi trống dữ liệu

    paulsteigel > 03-04-16, 08:00 PM

    (03-04-16, 07:40 PM)thanhtruong Đã viết: ah. có phải khi mình tạo report chứa subreport nhiều thì nó sẽ hiện trang in nhiều không hả mọi người,
    vì khi mình bấm in, thì nó hiện đến 13 trang giống y như nhau vậy, vậy có cách nào chỉ còn 1 trang in như những report bình thường không, chứ sợ mỗi lần in mà quên bấm 1 trang là nó ra 13 trang luôn là chết. hihi.

    Bạn vận dụng ngay thuộc tính HasData của báo cáo để ẩn/ hiện các nội dung của báo cáo thôi!
    Để mình có thông tin hơn, bạn nên gửi file đó lên để mình xem và trả lời bạn. Nếu băn khoăn về mã nguồn thì bạn có thể xóa tất cả các nội dung khác, chỉ để trừ thông tin về cái báo cáo thôi.
    Thân