如何获得“Recordset”表单的最大值?

问题描述 投票:0回答:1

表格结构: - frm_00_00_MainForm; - - frm_02_02_Groups_Tbl; - - frm_reg_GroupsStud_Stud_IdGroup_tbl。 表单数据源([frm_reg_GroupsStud_Stud_IdGroup_tbl]) - 请求。

SELECT reg_GroupsStud_Stud. *, Reg_GroupsStud_Stud.id_group
FROM reg_GroupsStud_Stud
WHERE (((reg_GroupsStud_Stud.id_group) = [Forms]! [Frm_00_00_MainForm] [[id_group_frm]));

我需要获取[id_stud]字段的最大值。 因此,代码不会处理请求的所有行,而只会处理表单中我认为可以加速代码的那些行。 为此,我创建了一个“Recordset”表单。 为此,我尝试使用以下代码:

    Private Sub btnMaxValue_Click()
            Dim rst As DAO.Recordset
            Dim studMax As Integer

            Set rst = Me.[frm_reg_GroupsStud_Stud_IdGroup_tbl].Recordset
             studMax = rst.???

End Sub

但我不明白如何获得[id_stud]字段的最大值。

题。 如何获得“Recordset”表单的最大值?

enter image description here

vba ms-access access-vba
1个回答
1
投票

您可以尝试对记录集进行排序,然后获取最后一个值。此代码从子表单运行。

Private Function GetMax() As Long
Dim rst As DAO.Recordset
Dim studMax As Long

    Set rst = Me.RecordsetClone

    rst.Sort = "Id_stud"

    rst.MoveLast

    studMax = rst("Id_stud")

    GetMax = studMax

    rst.Close

End Function

您需要添加错误处理和代码以检查记录集中是否有可用的记录。您可以从子表单中将GetMax()函数的值分配给任何控件或VBA逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.