Ms access 访问:在VBA中对记录集使用查询
我习惯于使用以下格式进行记录集:Ms access 访问:在VBA中对记录集使用查询,ms-access,vba,Ms Access,Vba,我习惯于使用以下格式进行记录集: 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子句 这是一个链接到SQL Server 2
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子句
这是一个链接到SQL Server 2008数据库的表。我喜欢将简单查询保存在Access中。您可以
- 如果查询使用参数,请使用具有参数的查询并为参数指定值
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
- 指定查询名称作为命令,并在记录集上使用
请看第一个示例,其中您可以在代码中使用参数。使用第二个示例,您必须添加一条语句,以设置从filterd记录集初始化的另一个记录集,并根据您提供的命令使用该记录集。Thanks@Rick美好的我已经更新了我的答案以包含更正。@ConradFrix我得到“Syntaxfehler(fehlender操作符)在abfrageaudruck'massnahme=bankett.我的代码:
abfrage=“SELECT*FROM tab1”;Set rs=db.OpenRecordset(abfrage)rs.Filter=“15massnahme=bankett”rsf=rs.OpenRecordset
@ConradFrix检查您的第一个解决方案:我得到”错误3265,在此列表中未找到元素“如果我写入abfrage=“从表1中选择”;设置qdf=db.querydfs(abfrage)
Dim rs As DAO.Recordset
Dim rsFiltered As DAO.Recordset
Set rs = CurrentDb.OpenRecordset(qry_SomeQueryWithoutParameters)
rs.Filter = "field1 > 30"
set rsFiltered = rs.OpenRecordset