'Declare variables needed to pass the parameters to the viewer control. Dim paramFields As New ParameterFields Dim paramField As New ParameterField Dim discreteVal As New ParameterDiscreteValue paramField.ParameterFieldName = "@ttStartDate" '*** SETTING THE FIRST DISCRETE VALUE & PASS IT TO THE PARAMETER *** discreteVal.Value = cStartDT paramField.CurrentValues.Add(discreteVal) '*** ADDING THE PARAMETER TO THE PARAMETER FIELDS COLLECTION *** paramFields.Add(paramField) '*** PASSING A SECOND PARAMETER (DISCRETE VALUE) *** paramField = New ParameterField paramField.ParameterFieldName = "@ttEndDate" discreteVal = New ParameterDiscreteValue discreteVal.Value = cEndDT paramField.CurrentValues.Add(discreteVal) paramFields.Add(paramField) '*** PASSING A THIRD PARAMETER (DISCRETE VALUE) *** paramField = New ParameterField paramField.ParameterFieldName = "@tiDeptID" discreteVal = New ParameterDiscreteValue discreteVal.Value = iDeptID paramField.CurrentValues.Add(discreteVal) paramFields.Add(paramField) Me.CrystalReportViewer1.ParameterFieldInfo = paramFieldsNow this may be the easiest way (at least non-foxpro way), but it sure seems like a lot of work. If anybody has a better for efficeint way, I'd be excitted to see it.