Something like this, perhaps:
VB Code:
Option Explicit
Private Type AllControls
ctlName As String
ctlValue As Variant
End Type
Dim ControlState(255) As AllControls 'max number of controls allowed on a single form
Private Sub Form_Load()
Dim i%, ctl As Control
For Each ctl In Controls
ControlState(i).ctlName = ctl.Name
If TypeOf ctl Is OptionButton Then
ControlState(i).ctlValue = ctl.Value
ElseIf TypeOf ctl Is TextBox Then
ControlState(i).ctlValue = ctl.Text
If TypeOf ctl Is CommandButton Then
ControlState(i).ctlValue = ctl.Caption
End If
i = i + 1
Next ctl
End Sub