Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 3570

Re: Problem with passing multiple discrete values to a parameter

$
0
0

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."?


Viewing all articles
Browse latest Browse all 3570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>