表单结构:
-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]字段的最大值。
问题。
如何获得“记录集”表格的最大值?
答案 0 :(得分: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逻辑。