ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   SQL against AS400 (https://www.excelbanter.com/excel-programming/281740-sql-against-as400.html)

R. Choate

SQL against AS400
 
I'm using ADO to pull a recordset from AS400. Everything works fine except my SQL. This SQL was generated using Microsoft query in
Excel, and it works fine, obviously, when using MSQuery. It does not work when I put it in code. The rest of my code is fine, and
has been tested successfully with a different, simpler SQL. I'm posting to a couple of Access groups because more Access users are
knowledgeable about SQL than Excel users. Thanks in advance for your help.

mySQL = "SELECT CUST.CCMPNY, CUST.CSPCL4, CUST.CCYCLE, CUST.CCUST#, CPRD.CPDESC, CPRD.CPCHG " & _
"FROM {oj ARWF.JGFTYT.CUST CUST LEFT OUTER JOIN ARWF.JGFTYT.CPRD CPRD ON CUST.CCUST# = CPRD.CPCST#} " & _
"WHERE (CPRD.CPCHG In ('CW','DF','MC','MK','CK','WE','LI','GA','GR','CO' ,'BE','BS')) AND (SUBSTR(CSPCL4,1,2) In ('CW','DF'," & _
"'MC','MK','CK','WE','LI','GA','GR','CO','BE','BS' )) AND (CUST.CCYCLE In ('RW','RR','RC','TR','WR','SB','SC','ZB','1','2',' 10'," & _
"'11','12','13','14','15','16')) AND (CUST.CCMPNY In ('1','3','4','5','6'))" & ";"

--
RMC,CPA




Rick Brandt

SQL against AS400
 
"R. Choate" wrote in message
...
I'm using ADO to pull a recordset from AS400. Everything works fine except my

SQL. This SQL was generated using Microsoft query in
Excel, and it works fine, obviously, when using MSQuery. It does not work when

I put it in code. The rest of my code is fine, and
has been tested successfully with a different, simpler SQL. I'm posting to a

couple of Access groups because more Access users are
knowledgeable about SQL than Excel users. Thanks in advance for your help.

mySQL = "SELECT CUST.CCMPNY, CUST.CSPCL4, CUST.CCYCLE, CUST.CCUST#,

CPRD.CPDESC, CPRD.CPCHG " & _
"FROM {oj ARWF.JGFTYT.CUST CUST LEFT OUTER JOIN ARWF.JGFTYT.CPRD CPRD ON

CUST.CCUST# = CPRD.CPCST#} " & _
"WHERE (CPRD.CPCHG In

('CW','DF','MC','MK','CK','WE','LI','GA','GR','CO' ,'BE','BS')) AND
(SUBSTR(CSPCL4,1,2) In ('CW','DF'," & _
"'MC','MK','CK','WE','LI','GA','GR','CO','BE','BS' )) AND (CUST.CCYCLE In

('RW','RR','RC','TR','WR','SB','SC','ZB','1','2',' 10'," & _
"'11','12','13','14','15','16')) AND (CUST.CCMPNY In ('1','3','4','5','6'))" &

";"

I'm not familiar with any SQL that uses braces "{ }" so try removing those.


--
I don't check the Email account attached
to this message. Send instead to...
RBrandt at Hunter dot com



john

SQL against AS400
 

"R. Choate" wrote in message
...
I'm using ADO to pull a recordset from AS400. Everything works fine except

my SQL. This SQL was generated using Microsoft query in
Excel, and it works fine, obviously, when using MSQuery. It does not work

when I put it in code. The rest of my code is fine, and
has been tested successfully with a different, simpler SQL. I'm posting to

a couple of Access groups because more Access users are
knowledgeable about SQL than Excel users. Thanks in advance for your help.

mySQL = "SELECT CUST.CCMPNY, CUST.CSPCL4, CUST.CCYCLE, CUST.CCUST#,

CPRD.CPDESC, CPRD.CPCHG " & _
"FROM {oj ARWF.JGFTYT.CUST CUST LEFT OUTER JOIN ARWF.JGFTYT.CPRD CPRD ON

CUST.CCUST# = CPRD.CPCST#} " & _
"WHERE (CPRD.CPCHG In

('CW','DF','MC','MK','CK','WE','LI','GA','GR','CO' ,'BE','BS')) AND
(SUBSTR(CSPCL4,1,2) In ('CW','DF'," & _
"'MC','MK','CK','WE','LI','GA','GR','CO','BE','BS' )) AND (CUST.CCYCLE In

('RW','RR','RC','TR','WR','SB','SC','ZB','1','2',' 10'," & _
"'11','12','13','14','15','16')) AND (CUST.CCMPNY In

('1','3','4','5','6'))" & ";"


It the JOIN clause is not in a correct format, I could be wrong. Try

SELECT CUST.CCMPNY, CUST.CSPCL4, CUST.CCYCLE, CUST.CCUST#, CPRD.CPDESC,
CPRD.CPCHG
FROM ARWF.JGFTYT.CUST LEFT OUTER JOIN ARWF.JGFTYT.CPRD ON CUST.CCUST# =
CPRD.CPCST#
WHERE <rest of where

Do you get any descriptive errors?




onedaywhen

SQL against AS400
 
Drop the trailing semicolon.

"R. Choate" wrote in message ...
I'm using ADO to pull a recordset from AS400. Everything works fine except my SQL. This SQL was generated using Microsoft query in
Excel, and it works fine, obviously, when using MSQuery. It does not work when I put it in code. The rest of my code is fine, and
has been tested successfully with a different, simpler SQL. I'm posting to a couple of Access groups because more Access users are
knowledgeable about SQL than Excel users. Thanks in advance for your help.

mySQL = "SELECT CUST.CCMPNY, CUST.CSPCL4, CUST.CCYCLE, CUST.CCUST#, CPRD.CPDESC, CPRD.CPCHG " & _
"FROM {oj ARWF.JGFTYT.CUST CUST LEFT OUTER JOIN ARWF.JGFTYT.CPRD CPRD ON CUST.CCUST# = CPRD.CPCST#} " & _
"WHERE (CPRD.CPCHG In ('CW','DF','MC','MK','CK','WE','LI','GA','GR','CO' ,'BE','BS')) AND (SUBSTR(CSPCL4,1,2) In ('CW','DF'," & _
"'MC','MK','CK','WE','LI','GA','GR','CO','BE','BS' )) AND (CUST.CCYCLE In ('RW','RR','RC','TR','WR','SB','SC','ZB','1','2',' 10'," & _
"'11','12','13','14','15','16')) AND (CUST.CCMPNY In ('1','3','4','5','6'))" & ";"


R. Choate

SQL against AS400
 
No, I don't get any descriptive errors. It generates an error from the AS400 that just says the server generated an error, and it
gives an error number of 0036 or something like that. I've had the error before and it isn't very helpful, other than to know it
means you have a messed up SQL.

Thanks,
--
RMC,CPA


"John" <bez74 at hotmail dot com wrote in message ...

"R. Choate" wrote in message
...
I'm using ADO to pull a recordset from AS400. Everything works fine except

my SQL. This SQL was generated using Microsoft query in
Excel, and it works fine, obviously, when using MSQuery. It does not work

when I put it in code. The rest of my code is fine, and
has been tested successfully with a different, simpler SQL. I'm posting to

a couple of Access groups because more Access users are
knowledgeable about SQL than Excel users. Thanks in advance for your help.

mySQL = "SELECT CUST.CCMPNY, CUST.CSPCL4, CUST.CCYCLE, CUST.CCUST#,

CPRD.CPDESC, CPRD.CPCHG " & _
"FROM {oj ARWF.JGFTYT.CUST CUST LEFT OUTER JOIN ARWF.JGFTYT.CPRD CPRD ON

CUST.CCUST# = CPRD.CPCST#} " & _
"WHERE (CPRD.CPCHG In

('CW','DF','MC','MK','CK','WE','LI','GA','GR','CO' ,'BE','BS')) AND
(SUBSTR(CSPCL4,1,2) In ('CW','DF'," & _
"'MC','MK','CK','WE','LI','GA','GR','CO','BE','BS' )) AND (CUST.CCYCLE In

('RW','RR','RC','TR','WR','SB','SC','ZB','1','2',' 10'," & _
"'11','12','13','14','15','16')) AND (CUST.CCMPNY In

('1','3','4','5','6'))" & ";"


It the JOIN clause is not in a correct format, I could be wrong. Try

SELECT CUST.CCMPNY, CUST.CSPCL4, CUST.CCYCLE, CUST.CCUST#, CPRD.CPDESC,
CPRD.CPCHG
FROM ARWF.JGFTYT.CUST LEFT OUTER JOIN ARWF.JGFTYT.CPRD ON CUST.CCUST# =
CPRD.CPCST#
WHERE <rest of where

Do you get any descriptive errors?






All times are GMT +1. The time now is 02:12 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com