根据两个文本框中的输入将信息从子表单复制到表单

时间:2014-09-15 23:02:25

标签: ms-access access-vba

我正在制作一份表格,我可以输入公用事业账单及其信息。每个公用事业账单都特定于某个电表,而且很多信息都与上个月的信息相同。我在表格上有一些方框,可以输入它的实用类型。 ,以及仪表编号,然后根据该输入我有一个子窗体显示所有以前的公用事业账单和该仪表的信息。我试图找到一种方法对其进行编码,以便在输入实用程序类型和仪表编号时自动填写所有重复信息,因为在上一次阅读和日期时很难输入它已被放入。我的问题是,有没有办法从子表单中获取这些信息并将其放入表单中?

这是我到目前为止的代码:

    Private Sub MeterID_AfterUpdate()
Dim Ut As String
Dim Metid As Integer
Dim Month As Integer
Dim Year As Integer
Dim PrevReading As Double
Dim Criteria As String
Ut = Me.Utility
Metid = Me.MeterID
Month = DLookup("Mon", "qryPhyUtl", "Utility=""" & Ut & """ AND " & _
               "MeterID= """ & Metid & """")
Year = DLookup("Yr", "qryPhyUtl", "Utility=""" & Ut & """ AND " & _
               "MeterID= """ & Metid & """")
If Month = 12 Then
    Month = 1
    Year = Year + 1
Else
    Month = Month + 1
End If
PrevReading = DLookup("CurReading", "qryPhyUtl", "Mon", "qryPhyUtl", "Utility=""" & Ut & """ AND " & _
           "MeterID= """ & Metid & """")
Me.Mon = Month
Me.Yr = Year
Me.PreReading = PrevReading

End Sub

1 个答案:

答案 0 :(得分:0)

按降序对子表单的查询进行排序。

在您的代码中,使用子窗体的RecordsetClone属性引用第一行中需要的任何字段,并应用于新记录。

非常粗略:

Dim rs as recordset

Set rs=me!mySubform.form.RecordsetClone: With rs
    If not .EOF then
        PrevReading = !CurrentReading
        (etc)
    End If
.close: End With
Set rs=nothing