ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Links and Linking in Excel (https://www.excelbanter.com/links-linking-excel/)
-   -   Variable SQL Statements pulling from a cell in Excel (https://www.excelbanter.com/links-linking-excel/79089-re-variable-sql-statements-pulling-cell-excel.html)

Duke Carey

Variable SQL Statements pulling from a cell in Excel
 
Yes it's definitely possible if you handle your queries with VBA. Don't know
if Excel's Data menu option to query an external database can. Actually, I
think it can't

Check out these KB articles

http://support.microsoft.com/kb/295646

http://support.microsoft.com/?scid=h...412%2fen-us%2f


"Preacher Man" wrote:

I have a situation that I hope someone can give me a good answer to. Please
bear with me as I try to explain my needs.

My goal is to have an Excel spreadsheet that pulls from a SQL database and
the the query pulls from a variable in the Excel sheet. For example let's
say I am pulling Sales Orders from SQL, let's also simply assume the record
has two fields Year and SOno.

Under a simple query I could say Select * from table. Of course that would
pull all so's from every year.

To filter the query of course I could say Select * from table where
year='2006'. And naturally that would give me 2006 orders.

OK, here's where I can't figure this out. I want the query to filter
according to a value in a cell in excel. Let's use cell A1. Essentially I
am looking for a query that says "Select * from table where Year=(Cell A1 in
the Sheet)"

Is this possible?




Preacher Man

Variable SQL Statements pulling from a cell in Excel
 
Thanks for the tip on the parameters. I didn't know it was there. But I
still have a problem.

The select statement I am using is just a little complex, but it is too
complex for MS Query to display graphically. So when I use the where
field=? and run the query, it comes back and says "Parameters are not
allowed in queries that can't be displayed graphically" Please tell me
there is a workaround.

Thanks.

"Duke Carey" wrote in message
...
Yes it's definitely possible if you handle your queries with VBA. Don't
know
if Excel's Data menu option to query an external database can. Actually,
I
think it can't

Check out these KB articles

http://support.microsoft.com/kb/295646

http://support.microsoft.com/?scid=h...412%2fen-us%2f


"Preacher Man" wrote:

I have a situation that I hope someone can give me a good answer to.
Please
bear with me as I try to explain my needs.

My goal is to have an Excel spreadsheet that pulls from a SQL database
and
the the query pulls from a variable in the Excel sheet. For example
let's
say I am pulling Sales Orders from SQL, let's also simply assume the
record
has two fields Year and SOno.

Under a simple query I could say Select * from table. Of course that
would
pull all so's from every year.

To filter the query of course I could say Select * from table where
year='2006'. And naturally that would give me 2006 orders.

OK, here's where I can't figure this out. I want the query to filter
according to a value in a cell in excel. Let's use cell A1. Essentially
I
am looking for a query that says "Select * from table where Year=(Cell A1
in
the Sheet)"

Is this possible?






DM Unseen

Variable SQL Statements pulling from a cell in Excel
 
Use http://vangelder.orcon.net.nz/ QueryEditor to get around this
limitation.
BTW a table cannot be a variabl/parametere in an SQL query so you'll
need to update the SQL statement manually for each TABLE.
Using VBA would be the best. Here is some speudo code you could use
after you created the Query manually first

DIm qtb as QueryTable
DIm strTable as String
Const Query = "Select * FROM %TABLE% where year=?"

Set qtb = Activesheet.QueryTables(1)
qtb.CommandText = Query
strTable = Inputbox("Enter a table Name")
qtb.CommandText = replace(Query,"%TABLE%",strTable)
qtb.refresh

DM Unseen



All times are GMT +1. The time now is 08:32 PM.

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