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 |