I'm modifying several queries in my VB 6.0 project to use an Access 2000 database instead of the current SQL Server database. (it's a backward move, I know… but it has to do with the end user's knowledge of Access vs. SQL Server, and the need for quick and unpredictably ad-hoc reports).
In the following VB recordset puplated from an Access DB, some Patient_ID's don't exist in the table X_INSUSPAN. The intention here is to use an outer join to display the Patient's information regardless of whether all the data is present in the database.
I have no knowledge of Access ...uh... "SQL", but clearly, my JOIN syntax is not working, because on the
"IfrsSelectedCaller.Fields(11) = 8 Then..."
statement, I get an EOF error.
Could someone help me see the error of my ways?
Maybe there's a much better way to do this, I don't know. Any help is appreciated by many.
Set rsSelectedCaller = objCaller.Execute("SELECT IIF(X_PATIENT.PATIENT_ID IS NULL,0,X_PATIENT.PATIENT_ID), IIF(X_PATIENT.LAST_NAME IS NULL,'No Data',X_PATIENT.LAST_NAME), iif(X_PATIENT.FIRST_NAME is null,'No Data',X_PATIENT.FIRST_NAME) " & _
", iif(X_DEMOSPAN.ADDRESS1 is null,'No Data',X_DEMOSPAN.ADDRESS1), iif(X_DEMOSPAN.ADDRESS2 is null,'No Data',X_DEMOSPAN.ADDRESS2) " & _
", iif(X_DEMOSPAN.CITY is null,'No Data',X_DEMOSPAN.CITY ), iif(X_DEMOSPAN.STATE is null,'ND',X_DEMOSPAN.STATE), iif(X_DEMOSPAN.ZIP_CODE,'00000-0000',X_DEMOSPAN.ZIP_CODE) " & _
", iif(X_DEMOSPAN.HOME_PHONE is null,'No Data',X_DEMOSPAN.HOME_PHONE), iif(X_DEMOSPAN.WORK_PHONE is null,'No Data',X_DEMOSPAN.WORK_PHONE) " & _
", iif(X_DEMOSPAN.OTH_PHONE is null,'No Data',X_DEMOSPAN.OTH_PHONE), iif(X_INSUSPAN.INSU_ID is null,0,X_INSUSPAN.INSU_ID) " & _
"FROM ((X_PATIENT left JOIN X_DEMOSPAN ON X_DEMOSPAN.PATIENT_ID = X_PATIENT.PATIENT_ID) left JOIN X_INSUSPAN ON ltrim(rtrim(X_INSUSPAN.PATIENT_ID)) = ltrim(rtrim(X_PATIENT.PATIENT_ID))) " & _
"where ltrim(rtrim(x_PATIENT.patient_id)) = " & CInt(Trim(cMedID)) & " order by x_PATIENT.first_name;")
'**note** rsSelectedCaller.Fields(11) is X_INSUSPAN.INSU_ID
If rsSelectedCaller.Fields(11) = 8 Then '<=== error is here
frmNEW.Label9.Caption = "County Funds"
ElseIf rsSelectedCaller.Fields(11) = 7 Then
frmNEW.Label9.Caption = "Medicaid"
ElseIf rsSelectedCaller.Fields(11) = 6 Then
frmNEW.Label9.Caption = "IPRS Funds"
Else
frmNEW.Label9.Caption = "No Data"
End If
Thanks in advance!
K3V
In the following VB recordset puplated from an Access DB, some Patient_ID's don't exist in the table X_INSUSPAN. The intention here is to use an outer join to display the Patient's information regardless of whether all the data is present in the database.
I have no knowledge of Access ...uh... "SQL", but clearly, my JOIN syntax is not working, because on the
"IfrsSelectedCaller.Fields(11) = 8 Then..."
statement, I get an EOF error.
Could someone help me see the error of my ways?
Maybe there's a much better way to do this, I don't know. Any help is appreciated by many.
Set rsSelectedCaller = objCaller.Execute("SELECT IIF(X_PATIENT.PATIENT_ID IS NULL,0,X_PATIENT.PATIENT_ID), IIF(X_PATIENT.LAST_NAME IS NULL,'No Data',X_PATIENT.LAST_NAME), iif(X_PATIENT.FIRST_NAME is null,'No Data',X_PATIENT.FIRST_NAME) " & _
", iif(X_DEMOSPAN.ADDRESS1 is null,'No Data',X_DEMOSPAN.ADDRESS1), iif(X_DEMOSPAN.ADDRESS2 is null,'No Data',X_DEMOSPAN.ADDRESS2) " & _
", iif(X_DEMOSPAN.CITY is null,'No Data',X_DEMOSPAN.CITY ), iif(X_DEMOSPAN.STATE is null,'ND',X_DEMOSPAN.STATE), iif(X_DEMOSPAN.ZIP_CODE,'00000-0000',X_DEMOSPAN.ZIP_CODE) " & _
", iif(X_DEMOSPAN.HOME_PHONE is null,'No Data',X_DEMOSPAN.HOME_PHONE), iif(X_DEMOSPAN.WORK_PHONE is null,'No Data',X_DEMOSPAN.WORK_PHONE) " & _
", iif(X_DEMOSPAN.OTH_PHONE is null,'No Data',X_DEMOSPAN.OTH_PHONE), iif(X_INSUSPAN.INSU_ID is null,0,X_INSUSPAN.INSU_ID) " & _
"FROM ((X_PATIENT left JOIN X_DEMOSPAN ON X_DEMOSPAN.PATIENT_ID = X_PATIENT.PATIENT_ID) left JOIN X_INSUSPAN ON ltrim(rtrim(X_INSUSPAN.PATIENT_ID)) = ltrim(rtrim(X_PATIENT.PATIENT_ID))) " & _
"where ltrim(rtrim(x_PATIENT.patient_id)) = " & CInt(Trim(cMedID)) & " order by x_PATIENT.first_name;")
'**note** rsSelectedCaller.Fields(11) is X_INSUSPAN.INSU_ID
If rsSelectedCaller.Fields(11) = 8 Then '<=== error is here
frmNEW.Label9.Caption = "County Funds"
ElseIf rsSelectedCaller.Fields(11) = 7 Then
frmNEW.Label9.Caption = "Medicaid"
ElseIf rsSelectedCaller.Fields(11) = 6 Then
frmNEW.Label9.Caption = "IPRS Funds"
Else
frmNEW.Label9.Caption = "No Data"
End If
Thanks in advance!
K3V