表格结构: - 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”表单的最大值?
您可以尝试对记录集进行排序,然后获取最后一个值。此代码从子表单运行。
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逻辑。