Shanan212
asked on
Create a table based on VBA based SQL
SELECT INTER.TCOMBI, INTER.Service, INTER.Min, INTER.LTL, INTER.Class, INTER.[500], INTER.[1M], INTER.[2M], INTER.[5M], INTER.[10M], INTER.[20M] INTO BTER
FROM INTER
WHERE (((INTER.TCOMBI)=(GetO([Forms]![Point2Point]![ocitytxt] & [Forms]![Point2Point]![oprovcombo])) & (GetO([Forms]![Point2Point]![dcitytxt] & [Forms]![Point2Point]![dprovcombo]))) AND ((INTER.Service)=[Forms]![Point2Point]![servicecombo]))
ORDER BY INTER.Class;
Hi, I have the above code in a query's sql view. For the ease of changing values inbetween, I want to out put the above from a nested if statement; hence changing some values here and there
How do I do this? I am new to combining SQL with VBA :/
Thanks in advance!
Regards,
Shanan
ASKER
Yes but how do I execute it?
I ve done further research using this
http://www.databasejournal.com/features/msaccess/article.php/10895_3505836_2/Executing-SQL-Statements-in-VBA-Code.htm
But I am getting sytax errors. Does this means I have to rewrite my SQL? Does this means the SQL in SQL-pane and SQL and VBA are different (by some ways)
Thanks!
I ve done further research using this
http://www.databasejournal.com/features/msaccess/article.php/10895_3505836_2/Executing-SQL-Statements-in-VBA-Code.htm
But I am getting sytax errors. Does this means I have to rewrite my SQL? Does this means the SQL in SQL-pane and SQL and VBA are different (by some ways)
Thanks!
Then get rid of the line breaks in the SQL and you can "Run" the query (that creates the table) using this basic syntax:
CurrentDb.Execute "SELECT......INTO......FRO
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Hi,
So I have this code from SQL window
Now I want it to be run on VBA so that I can change where the sql is getting data from (ie: I want to change the text box sources based on an IF statement.
Would that be like this?
Still giving me syntax errors though :/
So I have this code from SQL window
SELECT OUT.CITY, OUT.PROVINCE, OUT.[ROUTING TERMINAL], OUT.TCOMBI, OUT.ZONE, OUT.Min, OUT.LTL, OUT.[500], OUT.[1M], OUT.[2M], OUT.[5M], OUT.[10M], OUT.[20M] INTO OB
FROM OUT
WHERE (((OUT.CITY)=[Forms]![Point2Point]![ocitytxt]) AND ((OUT.PROVINCE)=[Forms]![Point2Point]![oprovcombo]));
Now I want it to be run on VBA so that I can change where the sql is getting data from (ie: I want to change the text box sources based on an IF statement.
Would that be like this?
rentDb.Execute "SELECT OUT.CITY, OUT.PROVINCE, OUT.[ROUTING TERMINAL], OUT.TCOMBI, OUT.ZONE, OUT.Min, OUT.LTL, OUT.[500], OUT.[1M], OUT.[2M], OUT.[5M], OUT.[10M], OUT.[20M] INTO OB
FROM OUT
WHERE (((OUT.CITY)=[Forms]![Point2Point]![ocitytxt]) AND ((OUT.PROVINCE)=[Forms]![Point2Point]![oprovcombo]))"
Still giving me syntax errors though :/
"Still giving me syntax errors though :/"
What errors?
What is "rentDB"?
(Try it as CurrentDB, if it is the same DB that you are in)
How is it declared?
...etc
What errors?
What is "rentDB"?
(Try it as CurrentDB, if it is the same DB that you are in)
How is it declared?
...etc
ASKER
It is currentDB as it is in the same database. Sorry that was a copying error.
What do you mean by "how it is declared"
The error I am getting now is "Expected End of statment"
at this point
What do you mean by "how it is declared"
The error I am getting now is "Expected End of statment"
at this point
INTO OB" FROM OUT WHERE
<What do you mean by "how it is declared">
Well if it is the currentDB, then use CurrentDB.
If you are going to give it a different name, then it has to be declared...
<I am getting now is "Expected End of statment" >
<INTO OB" FROM OUT WHERE>
...odd, because in none of the snippets you posted above have that clause...?
Where is that double quote coming form?
Remember what I posted...
A basic Insert will look something like this:
CurrentDb.Execute "SELECT......INTO......FRO M......WHE RE......OR DER BY......", dbFailOnError
JeffCoachman
Well if it is the currentDB, then use CurrentDB.
If you are going to give it a different name, then it has to be declared...
<I am getting now is "Expected End of statment" >
<INTO OB" FROM OUT WHERE>
...odd, because in none of the snippets you posted above have that clause...?
Where is that double quote coming form?
Remember what I posted...
A basic Insert will look something like this:
CurrentDb.Execute "SELECT......INTO......FRO
JeffCoachman
ASKER
CurrentDb.Execute "SELECT OUT.CITY, OUT.PROVINCE, OUT.[ROUTING TERMINAL], OUT.TCOMBI, OUT.ZONE, OUT.Min, OUT.LTL, OUT.[500], OUT.[1M], OUT.[2M], OUT.[5M], OUT.[10M], OUT.[20M] INTO NEW1 FROM OUT WHERE (((OUT.CITY)=[Forms]![Point2Point]![ocitytxt]) AND ((OUT.PROVINCE)=[Forms]![Point2Point]![oprovcombo]))"
Ok using your example and some online research I was able to correct that error. Now I am getting 'Too few Parameters. Expected 2'
The main question I have appart from the error is that (I haven't tried it yet) is it possible to put a calculation in the middle of above table?
Eg: (partial coding being this)
(((OUT.CITY)=[Forms]![Point2Point]![ocitytxt])[b] *0.65[/b]
Thank you for your efforts so far
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks!
ok
SELECT ...Fld1, Fld2, ...etc INTO NewTable
FROM OriginalTable
WHERE ...
OrderBy ...