Νομίζω πως είναι πιο ευέλικτο να διαχειρίζεται η ίδια η φόρμα/στόχος τα χειριστήριά της και όχι η αρχική.
Στο παράδειγμα που ανεβάζω, η αρχική φόρμα περνάει στην OpenArgs της φόρμας/στόχος
το ListIndex του Combobox και το επώνυμο
Κώδικας:
Private Sub cmbCash_AfterUpdate()
Dim strArgs As String
With Me
If Not IsNull(.cmbDay) Then
If Not IsNull(.cmbCash) Then
strArgs = CStr(.cmbCash.ListIndex) & ";" & .cmbLName
DoCmd.OpenForm .cmbDay, , , , , , strArgs
End If
End If
End With
End Sub
ενώ η φόρμα/στόχος περνάει το επώνυμο στο κατάλληλο χειριστήριο όπως και να ονομάζεται αυτό.
Για παράδειγμα, ο κώδικας της φόρμας της Δευτέρας έχει ως εξής:
Κώδικας:
Private Sub Form_Load()
Dim astrArgs() As String
Dim strCtrl As String
If Not IsNull(Me.OpenArgs) Then
astrArgs() = Split(Me.OpenArgs, ";")
On Error Resume Next
strCtrl = Array("Mon1", "Mon2", "Mon3", "Mon4")(astrArgs(0))
Me.Controls(strCtrl) = astrArgs(1)
End If
End Sub
Ενώ η αντίστοιχη πρόταση στη φόρμα της Τρίτης ως εξής:
Κώδικας:
strCtrl = Array("Tus1", "Tus2", "Tus3", "Tus4")(astrArgs(0))
Δείτε και το αποτέλεσμα στο συνημμένο και τα ξαναλέμε...
Γιάννης
Υ.Γ.
Μια ακόμα καλύτερη-κατά τη γνώμη μου-μέθοδο θα ήταν η δημιουργία διαδικασιών ιδιοτήτων στην αρχική φόρμα
από τις οποίες θα διάβαζαν οι φόρμες/στόχοι τα ορίσματα, ανανεωμένα και οποιαδήποτε στιγμή.