Sorry, I took too much for granted. I thought you would already be famililar with event procedures and VBA coding.
For illustration, let's say the option group control on the main form is named fraSortOrder, and contains two option buttons for ascending and descending order, with their Option Value properties set to 1 and 2 respectively. I'm again assuming the subform control is named sfmMySubform.
I'll also have to know the names of field(s) in the subform's record source that you want to sort by, so I'll assume you're sorting on two fields, OrderDate and OrderNbr.
What you need to do is, when an option button is chosen, use the AfterUpdate event of the option group to modify the OrderBy property of the subform. (Note that the
subform is not the same thing as the
subform control. The subform is the actual form that's listed on the Forms tab in the database window; the subform
control is a container for the subform on the main form. I hope that's clear; it's something that Access beginners frequently misunderstand.)
The following code illustrates how you do this:
Code:
Private Sub fraSortOrder_AfterUpdate()
Dim str As String
If Me!fraSortOrder = 1 Then
str = "OrderDate ASC, OrderNbr ASC"
Else
str = "OrderDate DESC, OrderNbr DESC"
End If
Me!sfmMySubform.Form.OrderBy = str
Me!sfmMySubform.Form.OrderByOn = True
End Sub
To create this procedure, first open the main form in design view and select the option group (frame) control. Then scroll down the Properties sheet until you see the After Update event property. Set it to "[Event Procedure]", and then click the Builder ("..."

button to its right. This will open a code window with the Private Sub and End Sub statements already entered; just type in the rest of the code, substituting the actual names of your option group control, subform control, and sort fields. That should do it! Rick Sprague