Πώς να αποκτήσετε πρόσβαση στα αποτελέσματα ερωτημάτων VBA

...

Ανάκτηση αποτελεσμάτων ερωτήματος στην Access χρησιμοποιώντας VBA.

Η γνώση του τρόπου ανάγνωσης των αποτελεσμάτων από ένα ερώτημα της Microsoft Access μπορεί να σας βοηθήσει να κάνετε την εφαρμογή Access πιο δυναμική. Η Access είναι μέρος της σουίτας του Microsoft Office και χρησιμοποιείται για τη δημιουργία σχεσιακών βάσεων δεδομένων. Η Visual Basic for Applications (VBA) μπορεί να χρησιμοποιηθεί στην Access για τη δημιουργία εφαρμογών των Windows και την ανάκτηση δεδομένων βάσης δεδομένων. Ένα ερώτημα δημιουργείται χρησιμοποιώντας δηλώσεις δομημένης γλώσσας ερωτημάτων (SQL) για να ζητήσει πληροφορίες από μια βάση δεδομένων.

Βήμα 1

Εκκινήστε το Microsoft Office Access 2007 και επιλέξτε "Blank Database" και, στη συνέχεια, κάντε κλικ στο "Create". Κάντε κλικ στο "Εργαλεία βάσης δεδομένων" και επιλέξτε "Visual Basic". Κάντε κλικ στο πεδίο "Εισαγωγή" και επιλέξτε "Μονάδα".

Το βίντεο της ημέρας

Πληκτρολογήστε "Private sub readQueryResults" και πατήστε "Enter" για να δημιουργήσετε μια νέα υπορουτίνα.

Βήμα 2

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

Dim RecordSt ως Recordset Dim dBase As Data Dim stringSQL as String Dim rCnt as Integer

Βήμα 3

Πληκτρολογήστε τα εξής για να δημιουργήσετε τον πίνακα "CityTbl":

stringSQL = "CREATE TABLE CityTbl (City TEXT(25), State TEXT(25));" DoCmd. RunSQL (stringSQL)

Βήμα 4

Πληκτρολογήστε τα παρακάτω για να προσθέσετε δύο νέες εγγραφές στον πίνακα "CityTbl" σας:

stringSQL = "INSERT INTO CityTbl ([City], [State] ) " stringSQL = stringSQL & "VALUES ('Fort Worth', 'Texas');" DoCmd. SetWarnings False DoCmd. RunSQL (stringSQL)

stringSQL = "INSERT INTO CityTbl ([City], [State] ) " stringSQL = stringSQL & "VALUES ('Dallas', 'Texas');" DoCmd. SetWarnings False DoCmd. RunSQL (stringSQL)

Βήμα 5

Πληκτρολογήστε τα ακόλουθα για να ορίσετε το ερώτημά σας και ανοίξτε το Recordset σας:

stringSQL = "SELECT CityTbl.* FROM CityTbl;" Ορίστε RecordSt = dBase. OpenRecordset (stringSQL)

Βήμα 6

Πληκτρολογήστε τα παρακάτω για να δημιουργήσετε ένα "For Loop" και να εμφανίσετε τα αποτελέσματα του ερωτήματός σας μέσω ενός πλαισίου μηνύματος:

RecordSt. MoveFirst For rCnt = 0 To RecordSt. RecordCount MsgBox (RecordSt. Fields("City").Value & ", " & RecordSt. Fields("State").Value) RecordSt. MoveNext Επόμενο rCnt

Πατήστε "F5" για να εκτελέσετε την υπορουτίνα.