Πρόσβαση σε παραδείγματα VBA SQL

Αυτό το σεμινάριο περιέχει παραδείγματα χρήσης SQL με πρόσβαση VBA. Όπως θα δείτε παρακάτω, για την εκτέλεση ερωτημάτων SQL στην Access with VBA μπορείτε να χρησιμοποιήσετε είτε το DoCmd.RunSQL ή CurrentDb. Εκτέλεση μεθόδους.

SQL Select

Αυτό το παράδειγμα θα χρησιμοποιήσει τη δήλωση SQL Select για να ανοίξει ένα σύνολο εγγραφών:

Dim rs As Recordset Set rs = CurrentDb.OpenRecordset ("select * from Table1 where num = 0", dbOpenDynaset)

Πίνακας ενημέρωσης SQL

Αυτή η γραμμή κώδικα VBA χρησιμοποιεί τη μέθοδο DoCmd.RunSQL για την ενημέρωση ενός πίνακα:

DoCmd.RunSQL ("ΕΝΗΜΕΡΩΣΗ πίνακα 1 SET num = 0 όπου num = 999")

Or μπορείτε να χρησιμοποιήσετε τη .Εκτέλεση της μεθόδου του αντικειμένου βάσης δεδομένων:

CurrentDb. Εκτέλεση "ΕΝΗΜΕΡΩΣΗ πίνακα 1 SET num = 0 όπου num = 999"

SQL Alter Table

Αυτή η γραμμή κώδικα VBA χρησιμοποιεί το DoCmd.RunSQL για να αλλάξει έναν πίνακα:

DoCmd.RunSQL ("ΑΛΛΑΓΟΣ ΠΙΝΑΚΑΣ Πίνακας 3 ΠΡΟΣΘΗΚΗ ΣΤΗΛΗ Χρήματα μισθών")

Or με τη .Εκτέλεση της μεθόδου του αντικειμένου βάσης δεδομένων:

CurrentDb. Εκτέλεση "ΑΛΛΑΓΟΣ ΠΙΝΑΚΑΣ Πίνακας 3 ΠΡΟΣΘΗΚΗ ΣΤΗΛΗ Χρήματα μισθών"

Drop Table

Αυτή η γραμμή κώδικα VBA χρησιμοποιεί το DoCmd.RunSQL για να αλλάξει έναν πίνακα:

DoCmd.RunSQL ("DROP Table Table1")

Or με τη .Εκτέλεση της μεθόδου του αντικειμένου βάσης δεδομένων:

CurrentDb. Εκτέλεση "DROP Table Table1"

SQL Delete

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

DoCmd.RunSQL ("ΔΙΑΓΡΑΦΗ ΑΠΟ πίνακα 1 όπου num = 999")

Or με τη .Εκτέλεση της μεθόδου του αντικειμένου βάσης δεδομένων:

CurrentDb. Εκτέλεση "ΔΙΑΓΡΑΦΗ ΑΠΟ πίνακα 1 όπου num = 999"

SQL Insert Into

Αυτή η παρουσία του DoCmd.RunSQL εισάγει εγγραφές σε έναν πίνακα:

DoCmd.RunSQL ("INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)")

Or με τη .Εκτέλεση της μεθόδου του αντικειμένου βάσης δεδομένων:

CurrentDb.Execute "INSERT INTO Table1 (LastName, dob, num) VALUES ('L1',#01/01/2001#, 78)"

SQL Δημιουργία πίνακα

Αυτός ο κώδικας θα δημιουργήσει έναν πίνακα χρησιμοποιώντας SQL:

CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Or με τη .Εκτέλεση της μεθόδου του αντικειμένου βάσης δεδομένων:

CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Δημιουργία ευρετηρίου

Αυτή η γραμμή κώδικα VBA χρησιμοποιεί το DoCmd.RunSQL για να αλλάξει έναν πίνακα:

DoCmd.RunSQL ("CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");")

Or με τη .Εκτέλεση της μεθόδου του αντικειμένου βάσης δεδομένων:

CurrentDb.Ecute "CREATE INDEX" & IndexName & "ON" & TableName & "(" & ColumnName & ");"

Δείκτης πτώσης

Αυτή η γραμμή κώδικα VBA χρησιμοποιεί το DoCmd.RunSQL για να αλλάξει έναν πίνακα:

DoCmd.RunSQL "DROP INDEX ID ON Table1;"

Or με τη .Εκτέλεση της μεθόδου του αντικειμένου βάσης δεδομένων:

CurrentDb.Execute "DROP INDEX ID ON Table1;"

Δημιουργία βάσης δεδομένων

Αυτός ο κώδικας θα δημιουργήσει μια βάση δεδομένων (χωρίς SQL):

Access.DBEngine.CreateDatabase "c: \ Temp \ testDB1.accdb", DB_LANG_GENERAL

Ερωτήματα SQL

Άνοιγμα ερωτήματος

Μπορείτε να χρησιμοποιήσετε το DoCmd.OpenQuery για να ανοίξετε ένα αποθηκευμένο ερώτημα:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Εκτέλεση ερωτήματος

Το CurrentDB.Execute θα εκτελέσει ένα ερώτημα:

CurrentDb.Εκτέλεση "qry_1", dbFailOnError

Εξαγωγή ερωτήματος στο Excel

DoCmd.OutputTo θα εξαγάγει ένα ερώτημα στο Excel:

DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, "c: \ temp \ ExportedQuery.xls"

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave