• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Sử dụng Report chuẩn của .NET, tại sao không?

Các bài viết hướng dẫn về Visual Basic .NET và C#

Điều hành viên: tungcan5diop, QUANITGROBEST

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Tư 05/01/2011 1:50 pm

Cũng không đc anh ạ, anh xem giúp vd này vói, em lam trên VB2008
Tập tin đính kèm
inan.zip
(295.3 KiB) Đã tải 463 lần



Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Tư 05/01/2011 2:15 pm

Mình không có VB2008 nên không test được cái project của bạn, nhưng cố gắng mở nó ra bằng VB2005 thì mình thấy có vấn đề: trong Code của bạn có nhiều hơn trong Report thiết kế 2 tham số đó là "shortDateFormat" và "TimeFormat".
2 cái tham số này, trong phần hướng dẫn của mình ở bài viết đầu tiên không có, nhưng trong project mẫu lại có. Bởi vậy khi bạn chạy chương trình với cái Code mới bị lỗi ở phần Add Parameters.
Để khắc phục, bạn có thể làm theo 1 trong 2 cách:
+ Cách 1: bỏ tham số thừa trong code đi bằng cách xóa đi 4 dòng sau:
  1. param = New ReportParameter("shortDateFormat", "dd/MM")
  2. Parameters.Add(param)
  3. param = New ReportParameter("TimeFormat", "hh:mm:ss")
  4. Parameters.Add(param)
  5.  


+ Cách 2: thêm 2 tham số còn thiếu vào Report. Bạn mở Report ở chế độ Design. Vào menu Report > Report parameters. Sau đó thêm vào 2 tham số là "shortDateFormat" và "TimeFormat"
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Tư 05/01/2011 2:52 pm

Em tìm ra rồi vấn đề là em không truyền tham số gì mà chỉ đua bảng DL ra report thì ngon, xóa hết cả các tham số trong Report Parameters thì mó­i đc, vậy em làm sai cái truyền tham số rồi, để em nghiên cú­u tiếp nha, thank anh nhiều

lubu08
Bài viết: 2
Ngày tham gia: CN 02/01/2011 3:57 pm

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi lubu08 » T.Năm 06/01/2011 1:50 am

thua anh luôn
em mới cài lại win cách đây 3 tuần, rồi cài VB 2010
nhưng vì cả nhóm thống nhất dùng VB 2008 cho XP sp2, em lại phải down xuống
giờ anh lại up lên file bản VB 2005, pó tay
convert hay sửa file đều ko mở đc trên VB 2008


Hay là anh xem dùm em bài này đi
em có 3 vấn đề muốn hỏi
1. cái báo cáo theo điểm
2. cái đánh số báo danh của em( hiển thị đúng, các sbd đã sửa, trừ thằng đầu tiên ko đc sửa)
3. cái tìm kiếm( làm thế nào để tìm kiếm trên nhiều cột)
Tập tin đính kèm
Tuyensinh.rar
(200.13 KiB) Đã tải 572 lần

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Năm 06/01/2011 8:30 am

lubu08 đã viết:thua anh luôn
em mới cài lại win cách đây 3 tuần, rồi cài VB 2010
nhưng vì cả nhóm thống nhất dùng VB 2008 cho XP sp2, em lại phải down xuống
giờ anh lại up lên file bản VB 2005, pó tay
convert hay sửa file đều ko mở đc trên VB 2008


Hay là anh xem dùm em bài này đi
em có 3 vấn đề muốn hỏi
1. cái báo cáo theo điểm
2. cái đánh số báo danh của em( hiển thị đúng, các sbd đã sửa, trừ thằng đầu tiên ko đc sửa)
3. cái tìm kiếm( làm thế nào để tìm kiếm trên nhiều cột)


Mình không dùng Vb2008 vì nó yêu cầu .NET Framework 3.5 (hình như bộ cài của nó >130Mb). Mình dùng cái Data Report này mà không dùng Crystal Report cũng một phần vì nguyên nhân tiết kiệm dung lượng đĩa cứng. Đối với các chương trình mình làm cho đến hiện tại thì dùng Vb2005 với .NET Framework 2.0 là cũng ổn rồi. Cài những cái mới tất nhiên là tốt hơn cái cũ nhưng nếu không dùng hết tính năng thì quả là lãng phí.
Về vấn đề của bạn mình xin giải đáp:
1. Bạn muốn làm báo cáo thì phải tự mình thiết kế mẫu cho nó thôi. Trong Project của bạn chưa có cái báo cáo nào cả, vậy thì mình không giúp gì được.
2+3. Topic này chỉ bàn về báo cáo kiểu Data Report. Nếu bạn muốn hỏi các vấn đề khác như cách thức truy vấn dữ liệu hay thiết kế giao diện thì bạn nên lập một Topic khác và nêu ra câu hỏi rõ ràng hơn.
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Năm 06/01/2011 4:25 pm

Khỉ thật em làm trên access thì đc nhung em làm voi SQL server thì lại không đc chu, anh có VD làm trên SQL server cho em xin một vd nhé.

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Năm 06/01/2011 10:14 pm

Có một vài bạn yêu cầu code trên VB2008 nên mình phải cố gắng cài thêm cái VS2008 vào máy để làm ví dụ cho các bạn. Thực ra thì mình thấy với cái ví dụ nho nhỏ này của mình thì dù VB2008 hay 2005 thì nó cũng chạy thôi. Nhưng thể theo yêu cầu, mình vẫn đưa lên đây để các bạn tham khảo.
Đây là bảng dữ liệu. Mình làm trên SQL Server 2000. Mong rằng sẽ không có bạn nào thắc mắc thêm rằng: "anh ơi, máy em chỉ có SQL Server 2005 trở lên thôi, anh làm ví dụ trên SQL Server 2005 hay 2005+n đi" :D
  1. CREATE TABLE [dbo].[tbl_call_log] (
  2.     [Id] [INT] IDENTITY (1, 1) NOT NULL ,
  3.     [Caller] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
  4.     [CallerIdType] [INT] NULL ,
  5.     [Receiver] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
  6.     [StartAt] [smalldatetime] NULL ,
  7.     [FinishedAt] [smalldatetime] NULL ,
  8.     [Duration] [INT] NULL ,
  9.     [DurationStr] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
  10.     [BlockCount] [INT] NULL ,
  11.     [TotalCharge] [INT] NULL
  12. )
  13.  

Cái bảng trên mình đưa vào Database là TempDB (cái này có sẵn trong SQL Server 2000). Các bạn có thể đưa vào CSDL nào tùy ý, nhưng mà sẽ phải thay đổi 1 chút cái chuỗi ConnectionString trong code.

Còn đây là Project làm trên VS2008 Professional Edition
MSReportSample2008.rar
(87.76 KiB) Đã tải 808 lần
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Hai 10/01/2011 10:30 am

Em vẫn bị lỗi anh oi, anh xem giúp em vói
Tập tin đính kèm
file loi.jpg

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Hai 10/01/2011 11:16 am

Có thể em phải add thêm cái gì không anh?

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Hai 10/01/2011 2:12 pm

ai dùng vb2008 test giùm mình cái project trên xem có chạy được không? sao mình chạy ngon lành mà bạn nhunv.vbard cứ kêu không chạy được nhỉ?
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Ba 11/01/2011 2:06 pm

Em mỏ­ ra không đc nên em tạo một project của em rồi em Existing Item tất cả các Object của anh vào nên không đc, anh có cách nào không? hay là cái VB2008 của em có vấn đề rồi

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Ba 11/01/2011 2:28 pm

Nếu vậy thì bạn cần xem lại cái tên của NameSpace. Ở dòng:

  1. ReportViewer1.LocalReport.ReportEmbeddedResource = "MSReportSample2008.rptCallLogs.rdlc"


Cái MSReportSample2008 chính là NameSpace chứa cái Report của bạn. Ở đây mình dùng VB nên cái tên NameSpace gốc mặc định là trùng với tên Project. Namespace gốc bạn có thể xem bằng cách vào menu Project, chọn "xxx Properties" trong đó xxx là Project của bạn.
Trong tab Application, tên namespace sẽ hiển thị ở textbox là "Root Namespace".
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Ba 11/01/2011 2:46 pm

Vâng đúng nhu­ anh nói mà, em post vd của em anh test giúp nhé
Tập tin đính kèm
msr2008.zip
(154.68 KiB) Đã tải 423 lần

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Ba 11/01/2011 2:50 pm

Còn mỏ­ cái vd cua anh ra thì lỗi ntn chá­c cái VB2008 của em toi rồi
Tập tin đính kèm
untitled.JPG

Hình đại diện của người dùng
son0nline
Thành viên trung thành
Thành viên trung thành
Bài viết: 241
Ngày tham gia: T.Năm 18/02/2010 9:55 pm
Has thanked: 6 time
Been thanked: 12 time
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi son0nline » T.Năm 13/01/2011 2:14 am

đọc code đoạn Nút showreport thì mình hiểu tại sao mọi người lại thích dùng Crytal Report :D
nhưng bài viết rất hay =D>
Cảm ơn nhiều :x

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Năm 13/01/2011 11:31 am

Bạn chưa tìm hiểu kỹ về cái Data Report có sẵn của .NET rồi. Tính mình thích dùng Code để giải quyết công việc hơn là kéo thả. Bởi vậy cái đoạn code của mình mới hơi dài. Thằng Report này cũng hỗ trợ kéo thả chuyên nghiệp không kém gì Crystal Report.

Tuy nhiên, ai thích dùng loại nào đó là sở thích của mỗi người.
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Năm 13/01/2011 11:40 am

nhunv.vbard đã viết:Vâng đúng nhu­ anh nói mà, em post vd của em anh test giúp nhé

Mình đã xem ví dụ của bạn.

Trong Report thiết kế thì có 5 Parameters trong khi ở code cho Button1_Click thì chỉ add 3 Parameters. Đó là lý do vì sao nó lại báo lỗi.
Bạn sửa lại trong code ở đoạn Add Parameter cho Report thành như sau:
  1.         Dim Parameters As List(Of ReportParameter) = New List(Of ReportParameter)
  2.         Dim param As ReportParameter
  3.         param = New ReportParameter("shortDateFormat", "dd/MM")
  4.         Parameters.Add(param)
  5.         param = New ReportParameter("TimeFormat", "hh:mm:ss")
  6.         Parameters.Add(param)
  7.         param = New ReportParameter("fromDate", dtpFromDate.Value.ToString("dd/MM/yyyy"))
  8.         Parameters.Add(param)
  9.         param = New ReportParameter("toDate", dtpToDate.Value.ToString("dd/MM/yyyy"))
  10.         Parameters.Add(param)
  11.         param = New ReportParameter("phoneNumber", txtCallerId.Text)
  12.         Parameters.Add(param)
  13.         ReportViewer1.LocalReport.SetParameters(Parameters)
  14.  
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Sáu 14/01/2011 9:40 am

Anh có đường link của bộ set VB2008 không? cho em xin với, bộ set của em lỗi mất rồi hihi

Hình đại diện của người dùng
thuongbat
Guru
Guru
Bài viết: 346
Ngày tham gia: CN 27/04/2008 10:11 am
Has thanked: 4 time
Been thanked: 79 time

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi thuongbat » T.Sáu 14/01/2011 11:17 am

Không đến nỗi phải cài lại như thế chứ. Nếu bạn đọc kỹ bài hướng dẫn đầu tiên của mình và hiểu nó làm như thế nào thì chắc là cũng tự mình thiết kế được thôi. Quan trọng là hiểu vấn đề.
Tuy nhiên, mình có thể giúp bạn thêm 1 lần. Bạn có thể cài phần mềm TeamViewer (http://www.teamviewer.com/index.aspx)vào máy của bạn, mình sẽ login từ xa và kiểm tra luôn cái Project trên máy của bạn. Nếu bạn đồng ý, cài phần mềm Teamviewer lên và gửi ID+Pass của nó cho mình trước 1h ngày hôm (14/1/2011) nay (gửi theo hình thức tin nhắn nội bộ của diễn đàn nhé)
Rượu gặp tri kỷ ngàn chén thiếu.
Chuyện người không hợp nửa câu thừa.

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: Sử dụng Report chuẩn của .NET, tại sao không?

Gửi bàigửi bởi nhunv.vbard » T.Sáu 14/01/2011 4:18 pm

Anh ơi em cài Teamviewer rồi, em đã gửi user và pass cho anh rồi đấy, anh giúp em với, em để 24/24 khi nào rảnh anh giúp em với nhé. Thank anh rất nhiều


Quay về “[.NET] Bài viết hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.3 khách