Thanks for that Ido, I have now applied that and tried it, but still getting an error. My loop now looks like this:
rcd.Open(rptFile, 0) rcd.DatabaseController.logon(databaseUserName, databasePassword) crMainReportParameterFields = rcd.DataDefinition.ParameterFields For Each crField In crMainReportParameterFields pfldName = crField.Name.ToString Try Select Case crField.ValueRangeKind 'Ranged parameter. Case 0 Dim crRangeVal As ParameterFieldRangeValue = New ParameterFieldRangeValue() pfld = Request(pfldName) arrKeys = pfld.Split("|") crRangeVal.BeginValue = arrKeys(0) crRangeVal.EndValue = arrKeys(1) crRangeVal.LowerBoundType = RangeBoundType.BoundInclusive crRangeVal.UpperBoundType = RangeBoundType.BoundInclusive rcd.DataDefController.ParameterFieldController.SetCurrentValue("", pfldName, crRangeVal) 'Discrete parameter. Case 1 If crField.AllowMultiValue Then Dim currentParameterValues As ParameterValues = New ParameterValues() Dim myParameterDiscreteValue As ParameterDiscreteValue = New ParameterDiscreteValue() pfld = Request(pfldName) arrKeys = pfld.Split(",") For Each multiVal As String In arrKeys myParameterDiscreteValue.Value = multiVal.ToString() currentParameterValues.Add(myParameterDiscreteValue) Next crField.ApplyCurrentValues(currentParameterValues) Else crDiscreteVal = New CrystalDecisions.Shared.ParameterDiscreteValue() crDiscreteVal.Value = Request(pfldName) rcd.DataDefController.ParameterFieldController.SetCurrentValue("", pfldName, crDiscreteVal) End If End Select Catch ex As Exception Response.Write("<b><u>The report viewer has encountered an error:</u></b><br><br>") Response.Write(ex.Message) Response.Write("Stack Trace: " & vbCrLf & ex.StackTrace) rcd.Close() Finally 'do cleanup End Try Next
Ii am getting the error:
The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))Stack Trace: at Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateCall(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack, Boolean IgnoreReturn) at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateCall(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn) at _ViewRpt.DatabaseLogon_unmanagedRAS() in C:\inetpub\wwwroot\taser\report\ras\ViewRpt.aspx.vb:line 102
Is the crField item in the collection I am looping though (rcd.DataDefinition.ParameterFields) the same entity as your example "myParameterFieldDefinition."?