Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Visual Βασικά Προγραμματισμός

Πώς να δημιουργήσετε ένα πέρασμα ερωτήματος παραμέτρων πρόσβαση σε VBA

Δημιουργία ερωτημάτων παραμέτρων με τη Microsoft Access VBA ( Visual Basic for Applications ) περιλαμβάνει τη χρήση προκαθορισμένων αντικείμενα της Access , όπως το QueryDef και αντικειμένων βάσης δεδομένων . Το ερώτημα string που χρησιμοποιείται με αυτά τα αντικείμενα είναι η ίδια που χρησιμοποιήθηκε κατά τη δημιουργία των ερωτημάτων της Access χωρίς VBA ( π.χ. , "SELECT * από MyTable WHERE myfield = [ user_entered_parameter ] " ) . Τα πράγματα που θα χρειαστείτε για Microsoft Access

Εμφάνιση Περισσότερες οδηγίες
Η 1

Ανοικτή Πρόσβαση και να δημιουργήσετε έναν πίνακα των δεδομένων του δείγματος χρησιμοποιώντας τις ακόλουθες γραμμές . Πληκτρολογήστε το κείμενο της πρώτης γραμμής ως ονόματα πεδίων του πίνακα .

Βιβλίο , datesold , netsalefurthering λόγια , 12/1/2009 , $ 5.03furthering λόγια , 12/3/2009 , $ 4.97der meisterstringer , 12/5/2009 , $ 1.97der meisterstringer , 12/6/2009 , 0,97 δολάρια 2

Αποθηκεύστε τον πίνακα ως «βιβλία », στη συνέχεια, πληκτρολογήστε τη Visual Basic IDE ( Ολοκληρωμένο Περιβάλλον Ανάπτυξης) πατώντας το πλήκτρο " Alt - F11 . "
εικόνων 3

Κάντε κλικ στο" Εισαγωγή ", ακολουθούμενη από την" Ενότητα " στη γραμμή εργαλείων του IDE είναι , στη συνέχεια, επικολλήστε τον ακόλουθο κώδικα στο παράθυρο κώδικα :

Δημόσιο Sub param_q_select ( ) Dim db όπως DAO.DatabaseDim qd όπως DAO.QueryDefDim sqry όπως StringSet db = CurrentDbsqry = " επιλέξτε * ΑΠΟ ΟΠΟΥ βιβλία βιβλίο σαν [ Εισάγετε τον τίτλο του βιβλίου ] " Set qd = db.CreateQueryDef ( " qpSelect " , sqry ) End Sub
Η

4 Εκτελέστε τη μακροεντολή με την τοποθέτηση του δρομέα οπουδήποτε μέσα σε αυτό το υποπρόγραμμα και πατώντας το πλήκτρο " F5 ".
5

Επιστροφή στην Access και να κλείσει την πλοήγηση παράθυρο στα αριστερά αν είναι ανοιχτό . Re - να ανοίξει το παράθυρο και να παρατηρήσετε τη νέα , αποθηκευμένο ερώτημα ( « qpSelect " ) . Κάντε διπλό κλικ σε αυτό το ερώτημα για να τρέξει , και πληκτρολογήστε " * γούνα * " στην προτροπή . Ανακοίνωση για τα αποτελέσματα του ερωτήματος : μόνο οι σειρές με " προώθηση λέξεις" εμφανίζονται
Η 6

Επιστροφή στην IDE πατώντας το πλήκτρο " Alt - F11 , " και να εκτελέσετε τη μακροεντολή χρησιμοποιώντας τις οδηγίες Βήμα 4 του . . Ανακοίνωση για το σφάλμα που εμφανίζεται αυτή τη φορά ( « Αντικείμενο » qpSelect 'υπάρχει ήδη " )
Η 7

Αναθεώρηση του κώδικα για να αποτρέψει το σφάλμα αντικαθιστώντας το με αυτόν τον κώδικα : .

Δημόσιο Sub param_q_select ( ) Dim db όπως DAO.DatabaseDim qd όπως DAO.QueryDefDim sqry όπως StringSet db = CurrentDbOn Error GoTo skip_deletedb.QueryDefs.Delete " qpSelect " skip_delete : sqry = " επιλέξτε * ΑΠΟ ΟΠΟΥ βιβλία βιβλίο σαν [ Εισάγετε τον τίτλο του βιβλίου ] " Set qd = db.CreateQueryDef ( " qpSelect " , sqry ) End Sub
8

Re - την εκτέλεση του κώδικα , χρησιμοποιώντας τις οδηγίες Βήμα 4 του . Σημειώστε ότι δεν υπάρχει λάθος αυτή τη φορά
Η 9

Αναθεωρήστε τη μακροοικονομική έτσι ώστε ο χρήστης του προγράμματός σας να επιλέξετε ποια πεδία για να δημιουργήσετε ένα ερώτημα παραμέτρων από : . Αντιγράψτε την πλήρη υπορουτίνα param_q_select και επικολλήσετε σε μια κενή περιοχή μέρος του παραθύρου κώδικα . Μετονομάστε αυτό το διπλούν, όπως param_q_choose_field
Η 10

Αντικαταστήστε τον υπάρχοντα κωδικό προγράμματος param_q_choose_field , μεταξύ των " στο λάθος ... " και " End Sub " δηλώσεις . Πληκτρολογήστε ή επικολλήστε αυτόν τον κώδικα , αντί :

Dim sfsf = InputBox ( " Πληκτρολογήστε το όνομα πεδίου " ) sqry = " επιλέξτε * ΑΠΟ ΟΠΟΥ βιβλία " & sf & " όπως [ Enter" & sf & "]" On Error GoTo skip_deletedb.QueryDefs.Delete " qpSelect " skip_delete : Ρυθμίστε qd = db.CreateQueryDef ( " qpSelect " , sqry ) End Sub

11

Re - εκτελέσετε την υπορουτίνα χρησιμοποιώντας τις οδηγίες Βήμα 4 , καθώς και πληκτρολογήστε " netsale " όταν η " Πληκτρολογήστε το όνομα τομέα " εμφανίζεται το μήνυμα .
Η 12

εκτελέστε το ερώτημα που δημιουργείται από την υπορουτίνα χρησιμοποιώντας τις οδηγίες Βήμα 5 του . Ωστόσο , πληκτρολογήστε " * 0 * " όταν σας ζητηθεί για την netsale παράμετρο . Πατήστε το πλήκτρο " Enter" και να παρατηρήσετε ότι μόνο τις γραμμές των οποίων " netsale " πεδίο περιέχει ένα " 0 " επέστρεψαν .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα