Home > Archive > Visual Basic Crystal Reports > April 2006 > Setting RecordSelectionFormula in SubReports
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Setting RecordSelectionFormula in SubReports
|
|
|
| Cant seem to set subreport RecordSelectionFormula
I have several subreports in a main report. The report runs fine but I
cannot seem to set the RecordSelectionFormula for the sub reports.
My Code looks as follows. If I uncomment the if statements at the bottom the
RecordSelectionFormula gets modified for the last if statements
Partial Class Application_Teacher_TeacherReports_TAKST
estAdminAnalysisReport
Inherits System.Web.UI.Page
Dim TAKSTestAdminAnalysisReport As ReportDocument 'IS IN THE DECLARATIVE
SECTION
-------
Dim MySubreport As
CrystalDecisions.CrystalReports.Engine.ReportDocument
Dim MySubReportObject As
CrystalDecisions.CrystalReports.Engine.SubreportObject
Dim MyReportObject As
CrystalDecisions.CrystalReports.Engine.ReportObject
For Each MyReportObject In
TAKSTestAdminAnalysisReport.ReportDefinition.ReportObjects
If MyReportObject.Kind =
CrystalDecisions.Shared.ReportObjectKind.SubreportObject Then
MySubReportObject = CType(MyReportObject,
CrystalDecisions.CrystalReports.Engine.SubreportObject)
MySubreport =
TAKSTestAdminAnalysisReport.OpenSubreport(MySubReportObject.SubreportName)
Select Case MySubReportObject.SubreportName
Case "TTAA_AnalysisOfDocumentsSubmitted.rpt"
MySubreport.RecordSelectionFormula =
"{vTTAA_AnalysisOfDocumentsSubmitted.Grade} = " & Chr(34) & "06" & Chr(34)
Case "TTAA_ScoredStudentsMeetingStandards.rpt", _
" TTAA_ScoredStudentsMeetingStandardsOther
Demographics.rpt",
_
"TTAA_ScoredStudentsNotMeetingStandards.rpt", _
" TTAA_ScoredStudentsNotMeetingStandardsOt
herDemographics.rpt"
MySubreport.RecordSelectionFormula =
"{vTTAA_ScoredStudentsMeeting&NotMeetingStandardsAllDemographics.Grade} = "
& Chr(34) & "06" & Chr(34)
Case "TTAA_TAKS2YearPhaseIn.rpt"
MySubreport.RecordSelectionFormula =
"{vTTAA_TAKS2YearPhaseIn.Grade} = " & Chr(34) & "06" & Chr(34)
Case Else
End Select
'If MySubReportObject.SubreportName =
"TTAA_AnalysisOfDocumentsSubmitted.rpt" Then
' MySubreport =
TAKSTestAdminAnalysisReport.OpenSubreport(MySubReportObject.SubreportName)
' MySubreport.RecordSelectionFormula =
"{vTTAA_AnalysisOfDocumentsSubmitted.Grade} = " & Chr(34) & "06" & Chr(34)
'End If
'If MySubReportObject.SubreportName =
"TTAA_ScoredStudentsMeetingStandards.rpt" Then
' MySubreport.RecordSelectionFormula =
"{vTTAA_ScoredStudentsMeeting&NotMeetingStandardsAllDemographics.Grade} = "
& Chr(34) & "06" & Chr(34)
'End If
End If
Next
| |
| Craig 2006-04-12, 10:03 pm |
| On 4/16/06 Crystal Reports Tech Support has confirmed to me this is a bug in
web applications but not windows applications. So we have to wait.
They said....
We replicated your issue at our end with the code you provided to us. We
would soon update you with the cause and solution for the issue. The issue
seems to more closely related to State management in Web Application.We also
tested your scenario with Windows Application and it works fine, the problem
is only with Web Application.
If you would like to add an update to your case, you may use the Online
Customer Support web site. All notes added to your case are automatically
forwarded to the Customer Support representative or team working on your
case.
Had to use stored procedures to get around bug
Dim MyReportObject As
CrystalDecisions.CrystalReports.Engine.ReportObject
Dim MySubreport As
CrystalDecisions.CrystalReports.Engine.ReportDocument
Dim MySubReportObject As
CrystalDecisions.CrystalReports.Engine.SubreportObject
For Each MyReportObject In
CrystalReportItemAnalysisReport.ReportDefinition.ReportObjects
If MyReportObject.Kind =
CrystalDecisions.Shared.ReportObjectKind.SubreportObject Then
'MySubReportObject = MyReportObject
MySubReportObject = CType(MyReportObject,
CrystalDecisions.CrystalReports.Engine.SubreportObject)
MySubreport =
CrystalReportItemAnalysisReport.OpenSubreport(MySubReportObject.SubreportName)
''THIS CODE DOES ALL SUBREPORTS WITH THE SAME PARAMETERS
'Dim ParameterFieldDefinition As
CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition
'Dim ParameterValues As
CrystalDecisions.Shared.ParameterValues
'Dim ParameterDiscreteValue As
CrystalDecisions.Shared.ParameterDiscreteValue
'ParameterFieldDefinition =
CrystalReportItemAnalysisReport.DataDefinition.ParameterFields.Item("@DistrictID",
MySubReportObject.SubreportName)
'ParameterValues = New
CrystalDecisions.Shared.ParameterValues
'ParameterDiscreteValue = New
CrystalDecisions.Shared.ParameterDiscreteValue
'ParameterDiscreteValue.Value = "999999"
'ParameterValues.Add(ParameterDiscreteValue)
'ParameterFieldDefinition.ApplyCurrentValues(ParameterValues)
''ParameterFieldDefinition.ApplyDefaultValues(ParameterValues)
'THIS CODE DOES EACH SUBREPORT WITH DIFFERENT PARAMETERS
Select Case MySubReportObject.SubreportName
Case "STAA_TestSummaryAndObjectiveBreakdown2.rpt"
'CrystalDecisions.CrystalReports.Engine
'CrystalDecisions.Shared
Dim ParameterFieldDefinition As
CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition
Dim ParameterValues As
CrystalDecisions.Shared.ParameterValues
Dim ParameterDiscreteValue As
CrystalDecisions.Shared.ParameterDiscreteValue
ParameterFieldDefinition =
CrystalReportItemAnalysisReport.DataDefinition.ParameterFields.Item("@DistrictID",
"STAA_TestSummaryAndObjectiveBreakdown2.rpt")
ParameterValues = New
CrystalDecisions.Shared.ParameterValues
ParameterDiscreteValue = New
CrystalDecisions.Shared.ParameterDiscreteValue
ParameterDiscreteValue.Value = "999999"
ParameterValues.Add(ParameterDiscreteValue)
ParameterFieldDefinition.ApplyCurrentValues(ParameterValues)
'ParameterFieldDefinition.ApplyDefaultValues(ParameterValues)
Case "STAA_DemographicSummary2.rpt"
Dim ParameterFieldDefinition As
CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition
Dim ParameterValues As
CrystalDecisions.Shared.ParameterValues
Dim ParameterDiscreteValue As
CrystalDecisions.Shared.ParameterDiscreteValue
ParameterFieldDefinition =
CrystalReportItemAnalysisReport.DataDefinition.ParameterFields.Item("@DistrictID",
"STAA_DemographicSummary2.rpt")
ParameterValues = New
CrystalDecisions.Shared.ParameterValues
ParameterDiscreteValue = New
CrystalDecisions.Shared.ParameterDiscreteValue
ParameterDiscreteValue.Value = "999991"
ParameterValues.Add(ParameterDiscreteValue)
ParameterFieldDefinition.ApplyCurrentValues(ParameterValues)
'ParameterFieldDefinition.ApplyDefaultValues(ParameterValues)
Case Else
Session("MessageText") = "Error: Subreportname
invalid"
End Select
End If
Next
"Craig" <NoSpam@hotmail.com> wrote in message
news:Og7R%23ncUGHA.4276@TK2MSFTNGP10.phx.gbl...
> Cant seem to set subreport RecordSelectionFormula
>
> I have several subreports in a main report. The report runs fine but I
> cannot seem to set the RecordSelectionFormula for the sub reports.
>
> My Code looks as follows. If I uncomment the if statements at the bottom
> the RecordSelectionFormula gets modified for the last if statements
>
>
> Partial Class
> Application_Teacher_TeacherReports_TAKST
estAdminAnalysisReport
> Inherits System.Web.UI.Page
> Dim TAKSTestAdminAnalysisReport As ReportDocument 'IS IN THE
> DECLARATIVE SECTION
> -------
>
> Dim MySubreport As
> CrystalDecisions.CrystalReports.Engine.ReportDocument
> Dim MySubReportObject As
> CrystalDecisions.CrystalReports.Engine.SubreportObject
> Dim MyReportObject As
> CrystalDecisions.CrystalReports.Engine.ReportObject
>
> For Each MyReportObject In
> TAKSTestAdminAnalysisReport.ReportDefinition.ReportObjects
> If MyReportObject.Kind =
> CrystalDecisions.Shared.ReportObjectKind.SubreportObject Then
> MySubReportObject = CType(MyReportObject,
> CrystalDecisions.CrystalReports.Engine.SubreportObject)
> MySubreport =
> TAKSTestAdminAnalysisReport.OpenSubreport(MySubReportObject.SubreportName)
>
> Select Case MySubReportObject.SubreportName
> Case "TTAA_AnalysisOfDocumentsSubmitted.rpt"
> MySubreport.RecordSelectionFormula =
> "{vTTAA_AnalysisOfDocumentsSubmitted.Grade} = " & Chr(34) & "06" & Chr(34)
>
> Case "TTAA_ScoredStudentsMeetingStandards.rpt", _
>
> " TTAA_ScoredStudentsMeetingStandardsOther
Demographics.rpt", _
> "TTAA_ScoredStudentsNotMeetingStandards.rpt", _
>
> " TTAA_ScoredStudentsNotMeetingStandardsOt
herDemographics.rpt"
>
> MySubreport.RecordSelectionFormula =
> "{vTTAA_ScoredStudentsMeeting&NotMeetingStandardsAllDemographics.Grade} =
> " & Chr(34) & "06" & Chr(34)
>
> Case "TTAA_TAKS2YearPhaseIn.rpt"
> MySubreport.RecordSelectionFormula =
> "{vTTAA_TAKS2YearPhaseIn.Grade} = " & Chr(34) & "06" & Chr(34)
>
> Case Else
>
> End Select
>
> 'If MySubReportObject.SubreportName =
> "TTAA_AnalysisOfDocumentsSubmitted.rpt" Then
> ' MySubreport =
> TAKSTestAdminAnalysisReport.OpenSubreport(MySubReportObject.SubreportName)
> ' MySubreport.RecordSelectionFormula =
> "{vTTAA_AnalysisOfDocumentsSubmitted.Grade} = " & Chr(34) & "06" & Chr(34)
>
> 'End If
>
> 'If MySubReportObject.SubreportName =
> "TTAA_ScoredStudentsMeetingStandards.rpt" Then
> ' MySubreport.RecordSelectionFormula =
> "{vTTAA_ScoredStudentsMeeting&NotMeetingStandardsAllDemographics.Grade} =
> " & Chr(34) & "06" & Chr(34)
>
> 'End If
>
>
> End If
>
> Next
>
>
|
|
|
|
|