Hello,
I inherited an Excel sheet with VBA code in it that I need to modify. I made my changes but I'm getting a "type mismatch" error. I cannot figure out where the issue is...the query runs fine in SQL but not in VBA.
Here's the old code that worked with no errors:
With Selection.QueryTable
.Connection = Array(Array( _
"ODBC;DSN=FACETSPULL;UID=ThompsonAE;PWD=newpass;APP=Microsoft Office XP;WSID=ACCTNG006;DATABASE=FACETS_REPORT;AutoTranslate=No;QuotedId=N" _
), Array("o;AnsiNPW=No"))
.CommandText = Array( _
"SELECT CMCV_CKCK_BASE.CKPY_REF_ID, CMCV_CKCK_BASE.CKCK_CK_NO, CMCV_CKCK_BASE.CKCK_PAYEE_NAME, CMCV_CKPY_BASE.CKPY_NET_AMT, CMCV_CKCK_BASE.CKCK_PRINTED_DT, CMCV_CKST_BASE.CKST_STS_DT" & Chr(13) & "" & Chr(10) & "FROM (CMCV_CKCK_B" _
, _
"ASE INNER JOIN CMCV_CKPY_BASE ON CMCV_CKCK_BASE.CKPY_REF_ID = CMCV_CKPY_BASE.CKPY_REF_ID) INNER JOIN CMCV_CKST_BASE ON CMCV_CKCK_BASE.CKPY_REF_ID = CMCV_CKST_BASE.CKPY_REF_ID" & Chr(13) & "" & Chr(10) & "WHERE (((CMCV_CKCK_BASE." _
, _
"CKCK_REISS_USUS_ID)='') AND ((CMCV_CKST_BASE.CKST_STS)='97' Or (CMCV_CKST_BASE.CKST_STS)='98' Or (CMCV_CKST_BASE.CKST_STS)='99' Or (CMCV_CKST_BASE.CKST_STS)='X7' Or (CMCV_CKST_BASE.CKST_STS)='X8' Or (" _
, _
"CMCV_CKST_BASE.CKST_STS)='X9' Or (CMCV_CKST_BASE.CKST_STS)='RC'))" & Chr(13) & "" & Chr(10) & "GROUP BY CMCV_CKCK_BASE.CKPY_REF_ID, CMCV_CKCK_BASE.CKCK_CK_NO, CMCV_CKCK_BASE.CKCK_PAYEE_NAME, CMCV_CKPY_BASE.CKPY_NET_AMT, CMCV_CKC" _
, _
"K_BASE.CKCK_PRINTED_DT, CMCV_CKST_BASE.CKST_STS_DT" & Chr(13) & "" & Chr(10) & "ORDER BY CMCV_CKCK_BASE.CKCK_CK_NO;" & Chr(13) & "" & Chr(10) & "" _
)
.Refresh BackgroundQuery:=False
End With
New Code - gets type mismatch error:
With Selection.QueryTable
.Connection = Array(Array( _
"ODBC;DSN=FACETSPULL;UID=ThompsonAE;PWD=newpass;APP=Microsoft Office XP;WSID=ACCTNG006;DATABASE=FACETS_REPORT;AutoTranslate=No;QuotedId=N" _
), Array("o;AnsiNPW=No"))
.CommandText = Array( _
, _
"SELECT CMCV_CKCK_BASE.CKCK_CK_NO, CMCV_CKCK_BASE.CKCK_PRINTED_DT, CMCV_CKCK_BASE.CKPY_REF_ID, CMCV_CKCK_BASE.CKCK_PAYEE_NAME, CMCV_CKPY_BASE.CKPY_NET_AMT, CMCV_CKST_BASE.CKST_STS_DT, CMCV_CKPY" _
, _
"_BASE.CKPY_PAYEE_TYPE, CMCV_CKPY_BASE.CKPY_PAYEE_PR_ID, CMCV_CKCK_BASE.CKCK_CURR_STS" & Chr(13) & "" & Chr(10) & "FROM (CMCV_CKCK_BASE I" _
, _
"NNER JOIN dbo_CMCV_CKST_BASE ON (CMCV_CKCK_BASE.CKCK_CURR_STS = CMCV_CKST_BASE.CKST_STS) AND (CMCV_CKCK_BASE.CKPY_REF_ID = CMCV_CKST_BASE.CKPY_REF_ID) " _
, _
"AND (CMCV_CKCK_BASE.CKCK_SEQ_NO = CMCV_CKST_BASE.CKCK_SEQ_NO)) INNER JOIN CMCV_CKPY_BASE ON CMCV_CKCK_BASE.CKPY_REF_ID = CMCV_CKPY_BASE.CKP" _
, _
"Y_REF_ID" & Chr(13) & "" & Chr(10) & "HAVING (((CMCV_CKCK_BASE.CKCK_CURR_STS)='97' Or (CMCV_CKCK_BASE.CKCK_CURR_STS)='98' Or (CMCV_CKCK_BASE.CKCK_CURR_STS)='99'))")
.Refresh BackgroundQuery:=False
End With
Any suggestions?
Thanks!
Bookmarks