【发布时间】:2020-12-23 00:02:35
【问题描述】:
我正在运行以下代码来运行 sql 并在消息框中显示产品。这工作正常。我的问题是我是否想同时显示所有产品,以便我可以复制或导出结果,就像我运行 Access Query 一样,它会给我显示的所有产品。我可以在这里做什么?我需要重写整个查询还是只是将 for 循环和 msgbox 更改为其他内容?
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Dim rcnt As Integer
Set rs = db.OpenRecordset("SELECT jd.Product FROM Consumption_JobDetails
AS jd " & _"INNER JOIN Consumption_JobRepairCentre AS jc ON jd.jobnumber = jc.jobnumber;")
rs.MoveLast
rs.MoveFirst
For rcnt = 0 To rs.RecordCount
MsgBox (rs.Fields("Product").Value)
rs.MoveNext
Next rcnt
【问题讨论】:
-
将数据写入消息框将不允许复制或导出。根据检索到的值的数量,MsgBox 甚至可能无法全部显示。构建用于导出的查询或报表对象。或者使用 Excel 自动化将记录集写入工作表。
-
发布的代码不起作用,因为换行符不正确。我猜有一个复制/粘贴问题。
-
这是代码的复制/粘贴。如何构建这样的查询?这个有什么例子或解决方案吗?
-
在查询中加入表并没有什么特别之处。打开查询生成器并构建查询。基本访问功能。如果你需要教程,我相信网上有很多。