| 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  | 
  |