【问题标题】:MS ACCESS: Print a report based on a recordset instead of record_IDMS ACCESS:打印基于记录集而不是 record_ID 的报告
【发布时间】:2017-07-07 16:48:45
【问题描述】:

绝望和周末在望,我不能停止,直到我解决这个问题。请多多包涵……

  • 我正在使用从 excel 文件中获取一些数据的子表单。 (搜索表单等功能)
  • 使用提交按钮,我将搜索结果放入带有记录集的表中。 (代码如下)

    这一切都很好!现在,我想从我刚刚使用下面的代码添加的同一条记录中打印一份报告。 我怎样才能做到这一点?因为我目前正在使用没有记录 ID 的表单(因为它仅用于搜索)

    如何使用当前的“item_ID”(我刚刚添加的那个)打印出报告???

    Private Sub Submit_Click() Dim db As Database Dim rec As Recordset Set db = CurrentDb Set rec = db.OpenRecordset("Select * from inboundreturns_items") rec.AddNew rec("returnID") = Forms!inboundreturns.returnID.Value rec("ireq") = Me.ireq rec("item") = Me.Item rec("tasknumber") = Me.tasknumber rec("country") = Me.Country rec("engineername") = Me.engineer rec("connote") = Me.connote rec("status") = Me.Status rec.Update Set rec = Nothing Set db = Nothing End Sub

(仅供参考:报告基于表 inboundreturns_items)

【问题讨论】:

  • 一个returnID可以有多个关联项?您只想打印一个新项目记录?假设 ItemID 始终递增,则新记录将具有最大 [ItemID]。使用 DMax() 域聚合函数来获取该值。但是,这也假设没有多个用户同时访问数据库并创建新的 ItemID 记录。

标签: printing report recordset


【解决方案1】:

刚刚做了一个实验,这似乎有效。在rec.Update之后,尝试:

rec.MoveLast DoCmd.OpenReport "reportname", , , "ItemID=" & rec!ItemID

【讨论】:

    猜你喜欢
    • 2018-05-08
    • 2011-01-05
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    相关资源
    最近更新 更多