Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 19 kết quả

Đề tài: Lọc báo cáo có điều kiện bằng Crystal Reports?

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    38

    Mặc định Lọc báo cáo có điều kiện bằng Crystal Reports?

    Các bạn ơi,mình muốn làm một báo cáo mà trên đó cho phép lọc dữ liệu theo điều kiện. Bạn nào đã làm báo cáo kiểu này rồi thì giúp mình với. Ví dụ,mình muốn lập báo cáo về các hóa đơn tính tiền trong một ngày nào đó chẳng hạn.

  2. #2
    Ngày gia nhập
    06 2007
    Bài viết
    26

    bạn có thể dùng SelectionFomula:
    Code:
    crystalreportviewer.SelectionFomula = "{filed cần lọc} = " + ngày;

  3. #3
    Ngày gia nhập
    12 2008
    Bài viết
    38

    Báo lỗi rồi bạn ơi. Mình làm thử như thế này thử mà không được:
    Code:
    crystalReportViewer1.ReportSource = new CrystalReport3();
    crystalReportViewer1.SelectionFormula = "HangSanXuat_ID = 'Sony' ";
    Ở đây mình làm để lọc danh sách các sản phẩm của Công ty Sony,nhưng lại bị báo lỗi.

  4. #4
    Ngày gia nhập
    01 2008
    Bài viết
    62

    Trích dẫn Nguyên bản được gửi bởi 8xhamhoc Xem bài viết
    Báo lỗi rồi bạn ơi. Mình làm thử như thế này thử mà không được:
    Code:
    crystalReportViewer1.ReportSource = new CrystalReport3();
    crystalReportViewer1.SelectionFormula = "HangSanXuat_ID = 'Sony' ";
    Ở đây mình làm để lọc danh sách các sản phẩm của Công ty Sony,nhưng lại bị báo lỗi.
    bạn có thể tạo 1 procdure với tham số truyền vào là mã hóa đơn chăn hạn ròi
    create proc sp_BaoCao
    @MAHD
    as
    begin
    select * from hoadon where MaHoaDon=@MAHD
    end
    tạo report
    du vụ
    tôi có 1 report tên la rpt_hoadon và 1 form có 1 combobox là mã hóa đơn vói 1 crystalreportviewer1
    code như sau
    rpt_hoadon hoadon=new rpt_hoadon
    hoadon.SetParameterValue("@MAHD", comboboxMAHD.selected Item);
    crystalreportviewer1.reportsource=hoadon;
    bạn muốn lọc theo điều kiện khác thì truyền vào tham số khác thi thay @MAHD Thành @NGAYLAP
    chúc bạn thành công
    Đã được chỉnh sửa lần cuối bởi tranthecong : 03-04-2010 lúc 11:22 AM.

  5. #5
    Ngày gia nhập
    12 2008
    Bài viết
    38

    Nhưng làm sao biết là mình đang gọi sp_BaoCao đây bạn. Mình làm như bạn chương trình báo lỗi này:
    Code:
    Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
    Mình nghĩ phải có phương thức gọi tên thủ tục trước có phải vậy không bạn. Mong bạn giúp đỡ thêm.

  6. #6
    Ngày gia nhập
    06 2007
    Bài viết
    26

    Mặc định Lọc báo cáo có điều kiện bằng Crystal Reports?

    Trích dẫn Nguyên bản được gửi bởi 8xhamhoc Xem bài viết
    Code:
    crystalReportViewer1.ReportSource = new CrystalReport3();
    crystalReportViewer1.SelectionFormula = "HangSanXuat_ID = 'Sony' ";
    "HangSanXuat_ID" phải thay bằng "{tendataset.HangSanXuat_ID}"
    ở đây chỉ dùng khi bạn đã load dữ liệu hết lên crystalreportviewer sau đó mới tiến hành chọn ngày để lọc dữ liệu (khỏi phải load lại dữ liệu). Còn nếu chọn ngày rồi mới load dữ liệu thì lọc bằng sql nhanh hơn
    Diễn giải hơn khó hiểu

  7. #7
    Ngày gia nhập
    12 2008
    Bài viết
    38

    Mình đã thử đưa vào Dataset như thế này:
    Code:
    DataSet _ds = new DataSet();
                string _strConnection = "server=.;database=Electronic;User Id =sa;Password=sa;";
                System.Data.SqlClient.SqlConnection _sqlCon = new System.Data.SqlClient.SqlConnection(_strConnection);
                System.Data.SqlClient.SqlCommand _sqlCom = new System.Data.SqlClient.SqlCommand();
                _sqlCom.CommandText = "SELECT * FROM [tbl_DanhMucSanPham]";
                _sqlCom.Connection = _sqlCon;
                System.Data.SqlClient.SqlDataAdapter _sqlAdater = new System.Data.SqlClient.SqlDataAdapter(_sqlCom);
                _sqlAdater.Fill(_ds);
                _sqlAdater.Dispose();
                CrystalReport7 _rpt7 = new CrystalReport7();            
                crystalReportViewer1.ReportSource = _rpt7;
                crystalReportViewer1.SelectionFormula = "{_dt.DanhMuc_ID} = DM01";
    Nhưng vẫn cứ báo lỗi,ý của bạn có phải thế này không. Vì mình chưa xài cái này bao giờ.

  8. #8
    Ngày gia nhập
    06 2007
    Bài viết
    26

    bạn chưa set datasource cho report
    Code:
     _rpt7.SetDataSource(....)
     crystalReportViewer1.ReportSource = _rpt7;
                crystalReportViewer1.SelectionFormula = "{_dt.DanhMuc_ID} = DM01";

  9. #9
    Ngày gia nhập
    12 2008
    Bài viết
    38

    :(( Không được bạn ơi mình đã làm theo bạn nhưng vẫn báo lỗi:
    Code:
    CrystalReport7 _rpt7 = new CrystalReport7();
                _rpt7.SetDataSource(_ds);            
                crystalReportViewer1.ReportSource = _rpt7;
                crystalReportViewer1.SelectionFormula = "{_ds.DanhMuc_ID} = 'DM01'";
    Nó báo lỗi như thế này: "This field name is not known".
    Mà tên trường này thì là có thật không phải đánh nhầm đâu.

  10. #10
    Ngày gia nhập
    06 2007
    Bài viết
    26

    bạn vào mục design tạo 1 SelectionFomula rồi copy trường đó ra thử xem, có gì liên hệ nick ddtmy2002

Các đề tài tương tự

  1. Crystal reports căn bản trong lập trình C#
    Gửi bởi dieucay555 trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 94
    Bài viết cuối: 25-03-2015, 02:08 PM
  2. Dữ liệu trong Crystal Reports không Refresh lại là do đâu?
    Gửi bởi dmhntth trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 21-10-2012, 03:32 PM
  3. Crystal reports căn bản trong lập trình C# không cập nhật được dữ liệu
    Gửi bởi trinhminhkhang23 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 03-09-2011, 12:02 PM
  4. Cách lấy ngày hệ thống đưa vào crystal reports?
    Gửi bởi suka trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 28-09-2010, 12:16 PM
  5. Cách phân trang crystal reports như thế nào?
    Gửi bởi suka trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 26-09-2010, 07:04 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn