Ισχύει για
Αντικείμενο Form |
Αντικείμενο Report |
Προσδιορίζει την παράσταση συμβολοσειράς που καθορίζεται από το όρισμα OpenArgs της μεθόδου OpenForm που άνοιξε μια φόρμα. Ανάγνωσης/εγγραφής, Πολυμεταβλητή.
παράσταση.OpenArgs
παράσταση Υποχρεωτικό. Μια παράσταση που επιστρέφει ένα από τα αντικείμενα της λίστας "Ισχύει για".
Παρατηρήσεις
Αυτή η ιδιότητα είναι διαθέσιμη μόνο όταν χρησιμοποιείται μια μακροεντολή ή κώδικας της Visual Basic for Applications (VBA) με τη μέθοδο OpenForm του αντικειμένου DoCmd. Αυτή η ρύθμιση ιδιότητας είναι μόνο για ανάγνωση σε όλες τις προβολές.
Για να χρησιμοποιήσετε την ιδιότητα OpenArgs, ανοίξτε μια φόρμα χρησιμοποιώντας τη μέθοδο OpenForm του αντικειμένου DoCmd και ορίστε το όρισμα OpenArgs στην παράσταση συμβολοσειράς που θέλετε. Η ρύθμιση της ιδιότητας OpenArgs μπορεί τότε να χρησιμοποιηθεί σε κώδικα για τη φόρμα, όπως σε μια διαδικασία συμβάντος Open. Μπορείτε επίσης να κάνετε παραπομπή στη ρύθμιση της ιδιότητας σε μια μακροεντολή, όπως μια μακροεντολή Open ή σε μια παράσταση, όπως μια παράσταση που ορίζει την ιδιότητα ControlSource για ένα στοιχείο ελέγχου στη φόρμα.
Για παράδειγμα, ας υποθέσουμε ότι η φόρμα που ανοίγετε είναι μια λίστα συνεχούς φόρμας με πελάτες. Εάν θέλετε η εστίαση να μετακινηθεί σε μια συγκεκριμένη εγγραφή κατά το άνοιγμα της φόρμας, μπορείτε να ορίσετε την ιδιότητα OpenArgs στο όνομα του πελάτη και, στη συνέχεια, να χρησιμοποιήσετε την ενέργεια FindRecord ενέργειας σε μια μακροεντολή Open για να μετακινήσετε την εστίαση στην εγγραφή για τον πελάτη με το καθορισμένο όνομα.
Παράδειγμα
Το παρακάτω παράδειγμα χρησιμοποιεί την ιδιότητα OpenArgs για να ανοίξει τη φόρμα Employees σε μια συγκεκριμένη εγγραφή υπαλλήλου και δείχνει πώς η μέθοδος OpenForm ορίζει την ιδιότητα OpenArgs. Μπορείτε να εκτελέσετε αυτήν τη διαδικασία, ανάλογα με την περίπτωση, για παράδειγμα, όταν παρουσιαστεί το συμβάν AfterUpdate για ένα προσαρμοσμένο παράθυρο διαλόγου που χρησιμοποιείται για την καταχώρηση νέων πληροφοριών σχετικά με έναν υπάλληλο.
Sub OpenToCallahan()
DoCmd.OpenForm "Employees", acNormal, , , _ acReadOnly, , "Callahan" End Sub Sub Form_Open(Cancel As Integer) Dim strEmployeeName As String ' If OpenArgs property contains employee name, find ' corresponding employee record and display it on ' form. For example,if the OpenArgs property ' contains "Callahan", move to first "Callahan" ' record. strEmployeeName = Forms!Employees.OpenArgs If Len(strEmployeeName) > 0 Then DoCmd.GoToControl "LastName" DoCmd.FindRecord strEmployeeName, , True, , _ True, , True End If End Sub
Το επόμενο παράδειγμα χρησιμοποιεί τη μέθοδο FindFirst για τον εντοπισμό του υπαλλήλου το όνομα του οποίου υπάρχει στην ιδιότητα OpenArgs.
Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then Dim strEmployeeName As String strEmployeeName = Me.OpenArgs Dim RS As DAO.Recordset Set RS = Me.RecordsetClone RS.FindFirst "LastName = '" & _ strEmployeeName & "'" If Not RS.NoMatch Then Me.Bookmark = RS.Bookmark End If End If End Sub