SQL-Anweisungen unter DAO   →   ohne Beispiele
Befehl / Beispiele Beschreibung
CREATE TABLE <Tabellenname>
(
<Feldname> <Feldtyp>
<Feldname> <Feldtyp>
<Feldname> <Feldtyp>

)
Neue Datenbank-Tabelle erstellen
Beispiel:
Sub TabelleErstellen()
    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    Datenbank.Execute "CREATE TABLE Adressen2 " & _
                      "( " & _
                      "Nachname  CHAR(15)," & _
                      "Strasse   CHAR(20)," & _
                      "PLZ       CHAR( 5)," & _
                      "Ort       CHAR(20)," & _
                      "Telefon   CHAR(15)," & _
                      "Handy     CHAR(15) " & _
                      ")"
    Datenbank.Close
End Sub

Sub TabelleErstellen2()
    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    Datenbank.Execute "CREATE TABLE Querbeet " & _
                      "( " & _
                      "OLEObjekt      LONGBINARY," & _
                      "BinBINARY      BINARY,    " & _
                      "DeziFLOAT      FLOAT,     " & _
                      "DeziNUMERIC    NUMERIC,   " & _
                      "DezSINGLE      SINGLE,    " & _
                      "DeziDOUBLE     DOUBLE,    " & _
                      "GanzLONG       LONG,      " & _
                      "GanzINTEGER    INTEGER,   " & _
                      "GanzBYTE       BYTE,      " & _
                      "GanzINT        INT,       " & _
                      "TextMEMO       MEMO,      " & _
                      "TextCHAR       CHAR(15),  " & _
                      "TextTEXT       TEXT,      " & _
                      "Waehrung       CURRENCY,  " & _
                      "Wert           GUID,      " & _
                      "ZeitDATE       DATE,      " & _
                      "ZeitTIMESTAMP  TIMESTAMP, " & _
                      "ZeitTIME       TIME       " & _
                      ")"
    Datenbank.Close
End Sub
 DROP TABLE <Tabellenname> Datenbank-Tabelle löschen
Beispiel:
Sub TabelleLoeschen()
    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    Datenbank.Execute "DROP TABLE Querbeet"
    Datenbank.Close
End Sub
INSERT INTO <Tabellenname> ( <Feld1> , ... , <Feldn> )
                    VALUES ( <Wert1> , ... , <Wertn> )
Werte in Tabelle eingeben
Beispiel:
Sub WerteEingeben()
    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    Datenbank.Execute = "INSERT INTO Adressen" & _
                        " ( Vorname , PLZ) " & _
                        "VALUES ( 'Oskar' , 45692 )"

    Datenbank.Close
End Sub
SELECT * FROM <Tabellenname> Alle Tabellen-Daten auslesen
Beispiel:
Sub TabelleAlleDatenAusgeben()
    Dim SQL As String
    Dim Tabelle As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    Tabelle = "Adressen"
    SQL = "SELECT * FROM " & Tabelle
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)
    Datenbank.Close
End Sub
SELECT <Spalte_1>, <Spalte_2> , ... , <Spalte_n> FROM <Tabelle> Alle Daten von angegebenen Spalten ( Felder ) ausgeben.
Beispiel:
Sub TabelleSpaltedatenAusgeben()
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    Cells.ClearContents
    SQL = "SELECT Vorname, Nachname FROM Adressen"
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)
    Datenbank.Close
End Sub
SELECT * FROM <Tabellenname> ORDER BY <Feldname oder Feld-Nr> ASC Alle Daten einer Tabelle ausgeben nach angegebenen Feld sortiert
Beispiel:
Sub TabelleAlleDatenAusgebenSortier()
    Dim FeldName  As String
    Dim SQL       As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "SELECT * FROM Adressen ORDER BY Nachname ASC" ' ASC  = aufsteigend sortiert
                                                               ' DESC = absteigend sortiert
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)
    Datenbank.Close
End Sub
SELECT DISTINCT <Feldname> FROM <Tabellenname> Welche Einträge sind in einem Feld vorhanden
Beispiel:
Sub TabelleSpaltenDatenEinzeln()
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "SELECT DISTINCT Vorname FROM Adressen"
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)
    Datenbank.Close
End Sub
SELECT * FROM <Tabelle> WHERE <Feld> = <Wert> OR <Feld> = <Wert> Daten gefiltert ausgeben
Beispiel:
Sub TabelleDatenFiltern()
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "SELECT * FROM Adressen WHERE Vorname = 'Karl' OR Nachname = 'Meier'"
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)
    Datenbank.Close
End Sub
SELECT * FROM <Tabelle> WHERE <Feld> LIKE 'J?r*' Filtern mit Platzhaltern
Beispiel:
Sub TabelleDatenFilternMitPlatzhalter()
'+-------------------------------------+
'|  * = beliebige Anzahl von Zeichen   |
'|  ? = beliebiges Zeichen             |
'+-------------------------------------+
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "SELECT * FROM Adressen WHERE Vorname LIKE 'J?r*'"  ' ? = Platzhalter für ein beliebiges Zeichen
                                                                    ' * = Platzhalter für beliebige Zeichen
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)
   Datenbank.Close
End Sub
SELECT * FROM <Tabelle> WHERE <Feld> BETWEEN <Von> AND <Bis> Zwischenwerte
Beispiel:
Sub TabelleDatenFilternZwischen()
'+-------------------------------------+
'|  * = beliebigen Anzahl von Zeichen  |
'|  ? = beliebiges Zeichen             |
'+-------------------------------------+
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "SELECT * FROM Adressen WHERE Vorname BETWEEN 'A' AND 'C'"
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)
    Datenbank.Close
End Sub
UPDATE <Tabelle> SET <Feld> = <WertAlt> WHERE Vorname = <WertNeu> Datenaustausch
Beispiel:
Sub TabelleDatenAustauschen()
    Dim SQL         As String
    Dim Tabelle     As String
    Dim Umwandlung  As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    Tabelle = "Adressen"
    Umwandlung = " SET Vorname = 'Jochen' WHERE Vorname = 'Jacob'"
    SQL = "UPDATE " & Tabelle & Umwandlung

    Datenbank.Execute SQL

    Datenbank.Close

    TabelleAlleDatenAusgeben
End Sub
DELETE FROM <Tabelle> WHERE <Feld> = <Wert> Daten löschen
Beispiel:
Sub TabellenDatenLoeschen()
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "DELETE FROM Adressen WHERE Vorname = 'Kai'"

    Datenbank.Execute SQL

    Datenbank.Close

    TabelleAlleDatenAusgeben
End Sub
SELECT MIN(<Feld>) FROM <Tabelle> Ersten Wert anzeigen
Beispiel:
Sub TabellenErsterEintrag()
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "SELECT MIN(Nachname) FROM Adressen"
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)

    Datenbank.Close
End Sub
SELECT MAX(<Feld>) FROM <Tabelle> Letzten Wert anzeigen
Beispiel:
Sub TabellenLetzterEintrag()
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "SELECT MAX(Nachname) FROM Adressen"
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)

    Datenbank.Close
End Sub
SELECT <Rechenoperation> Mit SQL rechnen
Beispiel:
Sub TabellenRechnen()
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "SELECT 12 * 45"
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)

    Datenbank.Close
End Sub
SELECT NOW Ausgabe des aktuellen Datums über SQL
Beispiel:
Sub TabellenAktuellesDatumAusgeben()
    Dim SQL As String

    Dim Datenbank As Database: Set Datenbank = OpenDatabase(DBName)

    SQL = "SELECT NOW"
    Cells.ClearContents
    Range("A1").CopyFromRecordset Datenbank.OpenRecordset(SQL)

    Datenbank.Close
End Sub