MS Access:VBA可以将单独查询的结果存储在表中,而不必通过SQL语句在VBA代码中运行查询吗?

时间:2016-03-25 18:41:07

标签: forms vba access-vba ms-access-2010 subreport

我有一个表单,旁边是一个子报表。当用户填写表单时,子报表开始填充。此子报表基于查询。

我想将子报表生成的值之一提交到表中。有没有办法在不必将SQL语句编入我的VBA代码的情况下执行此操作?或者这是唯一的方法吗?

当用户准备好提交时,子报表已完全填写 - 我只想从子报表或基础查询中获取其中一个值,而无需重新查询该值(出于效率原因)和诸如此类的东西。

2 个答案:

答案 0 :(得分:0)

您可能需要考虑DAO记录集。如果您要创建新记录,那么轻而易举,但如果您要写入现有记录,则必须指明记录ID,从您的描述中,您应该拥有该记录ID。此链接http://www.classanytime.com/mis333k/sjdaoadorecordsets.html可能会有所帮助。

最佳

答案 1 :(得分:0)

您始终可以使用表单或报告的RecordsetClone

Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
If rs.RecordCount > 0 Then
    rs.FindFirst "Id = " & SomeIdToLookUp & ""
    If rs.NoMatch = False Then
        ' Open recordset with logtable and add some fields to a new record.
    End If
End If
Set rs = Nothing