📄 能否在一个记录集上重新构造另一个查询.txt
字号:
你 不 能 简 单 地 在 一 个 记 录 集 上 建 立 另 一 个 查 询 。 记 录 集 都 是 临 时 建 立 的 , 无 法 再 次 使 用 。 我 想 你 不 能 使 用 嵌 套 查 询 可 能 是 因 为 要 多 次 逐 级 地 建 立 查 询 , 你 有 两 种 选 择 :
一 是 利 用 Select ... Into将 查 询 结 果 存 入 一 个 临 时 库 文 件 ;
二 是 建 立 QueryDef。 你 可 以 先 利 用 SELECT语 句 建 立 一 个 QueryDef对 象 , 然 后 在 此 基 础 上 构 造 SELECT查 询 。
Sub CreateQueryDefX()
Dim dbsNorthwind As Database
Dim qdfTemp As QueryDef
Dim qdfNew As QueryDef
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
With dbsNorthwind
' Create temporary QueryDef.
Set qdfTemp = .CreateQueryDef("", _
"SELECT * FROM Employees")
' Open Recordset and print report.
GetrstTemp qdfTemp
' Create permanent QueryDef.
Set qdfNew = .CreateQueryDef("NewQueryDef", _
"SELECT * FROM Categories")
' Open Recordset and print report.
GetrstTemp qdfNew
' Delete new QueryDef because this is a demonstration.
.QueryDefs.Delete qdfNew.Name
.Close
End With
End Sub
Function GetrstTemp(qdfTemp As QueryDef)
Dim rstTemp As Recordset
With qdfTemp
Debug.Print .Name
Debug.Print " " & .SQL
' Open Recordset from QueryDef.
Set rstTemp = .OpenRecordset(dbOpenSnapshot)
With rstTemp
' Populate Recordset and print number of records.
.MoveLast
Debug.Print " Number of records = " & _
.RecordCount
Debug.Print
.Close
End With
End With
End Function
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -