2017-07-07 186 views
0

绝望和周末在望,我无法停下来,直到我解决这个问题。请耐心等待...MS ACCESS:根据记录集而不是record_ID打印报告

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

    这一切都很好!现在,我想从我刚刚添加的同一条记录中打印一份报告,并附上下面的代码。 我该怎么做?由于我目前的表单上没有record_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

(FYI:该报告是基于表inboundreturns_items)

+0

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

回答

0

只是做了一个实验,这似乎工作。在rec.Update之后,请尝试:

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