访问:在VBA中对记录集使用查询 [英] Access: Using query in VBA for recordset

查看:186
本文介绍了访问:在VBA中对记录集使用查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我习惯于按以下格式制作记录集:

I have been accustomed to do recordssets in the following format:

Dim rs As DAO.Recordset
Dim strSQL As String

strSQL = "Select field1, field2 from myTable where field1 > 30"

Set rs = CurrentDb.OpenRecordset(strSQL)

'... Do wahtever using rs.

是否可以使用已经创建的查询代替文本并为其提供where子句?

Is it possible to use an already created query instead of text and giving it the where clause?

这是到SQL Server 2008数据库的链接表.我喜欢在Access中保存简单的查询.

This is a linked table to a SQL Server 2008 Database. I like to save simple queries in Access.

推荐答案

您可以

  • 使用具有参数的查询,并在查询使用参数的情况下指定参数的值.

  • Use a query that has parameters and specify values for parameters provided that the query uses parameters.

Dim dbs As DAO.Database
Dim qdf As DAO.QueryDef
Dim prm As DAO.Parameter
Dim rst As DAO.Recordset

Set qdf = CurrentDb.QueryDefs("qry_SomeQueryWithParameters")

qdf.Parameters("SomeParam").Value = "whatever"

Set rst = qdf.OpenRecordset

  • 将查询名称指定为命令,并在记录集上使用 Filter属性 li>
  • Specify a query name as the command and use the Filter property on the recordset


    Dim rs As DAO.Recordset
    Dim rsFiltered As DAO.Recordset


    Set rs = CurrentDb.OpenRecordset(qry_SomeQueryWithoutParameters)

    rs.Filter = "field1 > 30"
    set rsFiltered  = rs.OpenRecordset


这篇关于访问:在VBA中对记录集使用查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆