如何通过vba查看访问表中的记录集?

在嵌入式访问vb编辑器的帮助下,我编写了一个小代码来分析我的数据库的字段值,并希望最终在打开的访问内的表中查看记录集。作为一个新手,我只能使用Debug.Print来显示字段名称。你有没有人告诉我哪些语句/命令我可以执行我的SQL字符串,以便查看带有值的结果记录集?
Debug.Print FinalSQLString
    
已邀请:
据我所知,没有办法显示包含记录集的VBA实例的数据表。如果您的记录集的源是strQSL,那么您可以创建一个包含结果的表,并打开一个或更优雅地创建queryDef并打开它:
Sub ShowQd(strQdName As String, strSql As String)
'creates queryDef and display it in a datasheet'
    Dim qd As DAO.QueryDef

    Set qd = CurrentDb.CreateQueryDef(strQdName)
    With qd
        .ReturnsRecords = True
        .SQL = strSql
    End With
    DoCmd.OpenQuery strQdName
End Sub
如果您专注于显示内容,您还可以将ListBox放在表单中,将其列数设置为查询返回的字段数(
qd.Fields.Count
),并将strSql设置为ListBox的RowSource。 AND ...如果您将所有相关代码放在该表单中,您现在可以在任何数据库中导入一个表单以快速显示您想要的内容:) 祝好运 !     
这是基本配方:
Dim db As Database
Dim rs As Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM myTable")
知道您正在使用Jet数据访问对象(DAO)与Access - 谷歌的详细信息。 表达式
(rs.BOF and rs.EOF) = True
表示没有行。 使用
rs.MoveFirst
rs.MoveNext
转到第一行和下一行。
rs.MoveNext
后测试
rs.EOF
;当
True
时,最后一行已经处理完毕。
rs(FieldName)
返回名为FieldName的列(字符串表达式)的值。
rs(1)
返回第二列的值。 完成后,
rs.Close
。 无法手动访问RecordSet并将其显示在数据表视图中。相反,您必须创建一个QueryDef对象并使用它来执行查询并显示结果的数据表视图:
Dim qd As QueryDef

On Error Resume Next
CurrentDb.QueryDefs.Delete "temp"
On Error GoTo 0

Set qd = db.CreateQueryDef("temp", "SELECT * FROM myTable")

DoCmd.OpenQuery "temp", acViewNormal, acEdit
    

要回复问题请先登录注册