How to use parameterized query in Excel using column as parameter?

后端 未结 2 1098
庸人自扰
庸人自扰 2020-11-29 10:33

I am trying to develop a spreadsheet that can locate corresponding records in an external data source. So, let\'s say I have Column A with a list of identity values. I wan

相关标签:
2条回答
  • 2020-11-29 11:11

    So to do this I would create a UDF and have the backend of that function connecting to your access database. Something like this:

    Public Function countMyTable(IDValue As Double) As Long
    'Requires:// Microsoft Access 16.0 Object Library
    'Requires:// Microsoft Office 16.0 Access database engine Object Library
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = Access.DBEngine.Workspaces(0).OpenDatabase(DBFilePath, False, False)
    Set rs = db.OpenRecordset("SELECT COUNT(1) FROM MyTable WHERE IDValue = " & IDValue, dbOpenSnapshot)
    rs.MoveLast
    countMyTable = rs(0)
    db.close
    End Function
    

    Hope this helps, TheSilkCode

    0 讨论(0)
  • 2020-11-29 11:20

    I would use a parameterized query (where IDVALUE=?), but that prompts me to input the parameter value

    From what you mentioned I understand you are using MS Query and you need to follow the following steps

    Steps to make a parameterized query in Excel use a cell value as parameter

    1. First go to the Data tab in Excel and Select MS Query under External Data Sources

    MS Query

    1. A pop up appears asking you to choose data source. Select the data source or add a new data source and select it. Make sure to uncheck Use the query wizard to create or edit queries it is not very useful in most cases

    Data Source

    1. Then a pop up appears asking you to add table select any table for now. It is better to select a table with less rows.

    add table

    1. Then a Query window appears with the table you have selected and its data

    query window

    1. Then click on the view menu and uncheck tables. This removes the graphically representation in query window and makes it easier to alter you sql query

    View menu

    1. Click on the SQL button below the format menu in query window. A pop up comes where you can edit the query as you wish. Make sure to add question mark(s) for the parameter(s) you want.

    edit query

    1. Then a pop up appears ask you for parameter value(s) enter some valid value for now

    parameter

    1. Then the query window shows the result of query based on the parameter entered

    result

    1. Click on the exit button below the view menu in query window. Then the query window closes and Import Data pop up comes asking where in excel to display the result. Choose accordingly

    import

    1. Then click on Properties button on left before you click OK. A new pop up appears with the default usage tab selected.

    Properties

    1. Make any changes needed in this tab and click on Definition tab. Click on Parameters button in bottom of the pop up next to edit query button

    Definition

    1. Parameters pop up comes displaying the parameters used in the query. Here you must select the Get the value from following cell radio button to select the value of cell as the parameter for the query. Click OK and you should be done.

      parameter value


    This method is for people with no VBA experience. If you know VBA then refer to this answer to achieve the something similar using VBA.

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