Γιώργο καλημέρα και καλωσόρισες στο φόρουμ!
Οι φόρμες ή οι εκθέσεις της Access έχουν την ιδιότητα
OpenArgs
Θα σου πρότεινα να ρίξεις μια ματιά στις λεπτομέρειες της ιδιοτητας αυτής κάνοντας αναζήτηση στη βοήθεια τη Access
χρησιμοποιώντας τη λέξη –κλειδί:
OpenArgs
ή πατώντας τον παρακάτω σύνδεσμο:
Ιδιότητα OpenArgs - Access - Microsoft Office
Στην περίπτωσή σου, θα μπορούσες να χρησιμοποιήσεις την ιδιότητα αυτή κι έτσι να περάσεις το
ονοματεπώνυμο στην νέα φόρμα (πχ. στην
frm_alp ακολουθώντας την παρακάτω διαδικασία:
Στη φόρμα
frm_pelatis και στο κουμπί
Εντολή1 με τη λεζάντα
alp, έχεις ήδη αντιστοιχήσει στο
συμβάν κλικ
μια
Ενσωματωμένη μακροεντολή με τη βοήθεια του οδηγού κουμπιών επιλογής,
που όμως δεν παρέχει τη δυνατότητα χρήσης της ιδιότητας
OpenArgs!
Θα πρέπει λοιπόν, στο φύλλο ιδιοτήτων του κουμπιού αυτού στο
συμβάν κλικ, να πατήσεις
την πτυσσόμενη λίστα και να επιλέξεις:
[Διαδικασία συμβάντος].
Κατόπιν, πάτησε το κουμπί δίπλα από το βελάκι της πτυσσόμενης λίστας
για να εισέλθεις στον
VBE όπου θα συναντήσεις το παρακάτω:
Private Sub Εντολή1_Click()
End Sub
Ανάμεσα στις δύο αυτές γραμμές πέρασε το παρακάτω:
DoCmd.OpenForm "frm_alp", acNormal, , , , acDialog, Nz(Me.onomateponimo, vbNullString)
όπου:
"frm_alp" = το όνομα της φόρμας που θέλεις να ανοίξεις
και Nz(Me.onomateponimo, vbNullString) είναι η τιμή του ορίσματος OpenArgs (εξηγείται παρακάτω).
ο παραπάνω κώδικας ανοίγει τη φόρμα
frm_alp και όρισμα
OpenArgs, της δίνει την τιμή του πεδίου "onomateponimo".
Πάμε τώρα στη φόρμα frm_alp και στο
φύλλο ιδιοτήτων > Συμβάν > με τη φόρτωση
επιλέγεις
[Διαδικασία συμβάντος], πατάς το κουμπί δίπλα από το βελάκι της πτυσσόμενης λίστας
για να εισέλθεις στον
VBE όπου θα συναντήσεις το παρακάτω:
Private Sub Form_Load()
End Sub
Θα πρέπει να διαμορφωθεί όπως φαίνεται παρακάτω:
Κώδικας:
Private Sub Form_Load()
If Nz(Me.OpenArgs, vbNullString) <> vbNullString Then
Me.onomateponimo = Me.OpenArgs
End If
End Sub
Αποθήκευσε και δοκίμασε.
Καλή συνέχεια!
Φιλικά
Τάσος