Excel: Use a cell value as a parameter for a SQL query

后端 未结 4 1890

I\'m using MS Excel to get data from a MySQL database through ODBC.
I successfully get data using an SQL query. But now I want that query to be parameterized.
So I w

相关标签:
4条回答
  • 2020-11-27 14:40

    The SQL is somewhat like the syntax of MS SQL.

    SELECT * FROM [table$] WHERE *;
    

    It is important that the table name is ended with a $ sign and the whole thing is put into brackets. As conditions you can use any value, but so far Excel didn't allow me to use what I call "SQL Apostrophes" (´), so a column title in one word is recommended.

    If you have users listed in a table called "Users", and the id is in a column titled "id" and the name in a column titled "Name", your query will look like this:

    SELECT Name FROM [Users$] WHERE id = 1;
    

    Hope this helps.

    0 讨论(0)
  • 2020-11-27 14:43

    I had the same problem as you, Noboby can understand me, But I solved it in this way.

    SELECT NAME, TELEFONE, DATA
    FROM   [sheet1$a1:q633]
    WHERE  NAME IN (SELECT * FROM  [sheet2$a1:a2])
    

    you need insert a parameter in other sheet, the SQL will consider that information like as database, then you can select the information and compare them into parameter you like.

    0 讨论(0)
  • 2020-11-27 14:54
    queryString = "SELECT name FROM user WHERE id=" & Worksheets("Sheet1").Range("D4").Value
    
    0 讨论(0)
  • 2020-11-27 15:03

    If you are using microsoft query, you can add "?" to your query...

    select name from user where id= ?

    that will popup a small window asking for the cell/data/etc when you go back to excel.

    In the popup window, you can also select "always use this cell as a parameter" eliminating the need to define that cell every time you refresh your data. This is the easiest option.

    0 讨论(0)
提交回复
热议问题