2012-02-04 3 views
1

작동하지 않습니다 그것은 내 코드입니다 :크리스탈 리포트 RecordSelectionFormula이

CrystalReportViewer1.Zoom(75) 
Dim rpt As New CrystalReport1 
rpt.RecordSelectionFormula = "{members.id} ='3232'" 
CrystalReportViewer1.ReportSource = rpt 
CrystalReportViewer1.Refresh() 

그것은 모든 레코드를 보여주고, 나도 몰라 왜

+0

보고서에서 사용하는 SQL 쿼리는 무엇입니까? –

+0

SQL 쿼리? RecordSelectionFormula는 내가 사용한 유일한 수식입니다. 내가 언급 한 것을 어디서 찾을 수 있는지 모르겠습니다. – Maysam

+0

rpt 객체에는 데이터베이스 서버에 대해 보낸 SQL 쿼리를 보유하는 'SQLQueryString'속성이있을 것입니다. 이 쿼리를 확인할 수 있습니까? –

답변

1
Dim CrReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument 
CrReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument() 
CrReport.Load(Application.StartupPath & "\CrystalReport1.rpt") 
CrReport.SetDataSource("HERE YOUR DATASET USED IN DA DESIGN OF CRYSTALREPORT1.rpt") 
CrystalReportViewer1.ReportSource = CrReport 
CrReport.RecordSelectionFormula = "{members.id} ='3232'" 
귀하의 CRYSTALREPORT1.rpt은 당신의 appath의 \\BIN\DEBUG에 위치해야합니다

이전에 거의 만들어져 있어야합니다. Visual Studio의 디자이너가 만든 개체와 마찬가지로 ...> 추가 항목> CR

1

양식 보고서 (desing보기)에 CrystalReportDocument를 만들어야합니다. 그 다음에는 Visual Studio에서 CrystalReportDocument에 대한 클래스를 선택할 수 있습니다. report.rpt와 관련된 클래스를 선택한 다음 인쇄 이벤트에서 다음을 추가하십시오.

crystalReportDocument.Load(@"reports\report.rpt"); 

crystalReportDocument.RecordSelectionFormula = "{viewTable.IdTable}=1"; 

crystalReportDocument.PrintToPrinter(1, false, 0, 0); 

viewTable은 데이터베이스의 뷰 요소입니다.

많은 사람들이 모두 DATASET에 익숙하지만 대부분의 경우 우스꽝 스럽습니다.