Flower

← Alle Module · Office (lokal)

office.access

Liest und ändert Microsoft-Access-Datenbanken (.accdb/.mdb) direkt am Arbeitsplatz: Tabellen abfragen, Datensätze anlegen, aktualisieren oder löschen und beliebiges SQL ausführen. So lassen sich Auswertungen und Pflege-Aufgaben auf bestehenden Access-Datenbanken automatisieren.

Block-Einstellungen

Gelten für den ganzen Modul-Block (im Editor oben im Inspektor, in YAML direkt unter dem Modulnamen).

FeldTypPflichtBeschreibung
dateiTextjaPfad zur Access-Datenbank (.accdb oder .mdb), die der gesamte Block verwendet.
passwort-credTextCredential-Referenz für das Datenbank-Passwort, falls die Datei passwortgeschützt ist.

Aktionen

sql-abfragenlesend

Führt eine lesende SQL-Abfrage (SELECT) aus und liefert die gefundenen Zeilen zurück (Aliase: abfrage, abfrage-ausführen).

Eingaben

FeldTypPflichtBeschreibung
sqlTextjaDie auszuführende SELECT-Abfrage; Platzhalter @name werden über parameter befüllt.
parameterObjektBenannte Parameter (Name-Wert-Paare) für parametrisierte Abfragen gegen SQL-Injection.

Ausgaben (über ergebnis:)

zeilenListe der Ergebniszeilen, jede Zeile als Objekt aus Spaltenname und Wert.

sql-ausführenverändernd

Führt eine schreibende SQL-Anweisung (INSERT/UPDATE/DELETE) aus und meldet die Anzahl betroffener Zeilen (Alias: ausführen).

Eingaben

FeldTypPflichtBeschreibung
sqlTextjaDie auszuführende SQL-Anweisung; Platzhalter @name werden über parameter befüllt.
parameterObjektBenannte Parameter (Name-Wert-Paare) für die Anweisung.

Ausgaben (über ergebnis:)

betroffene-zeilenAnzahl der durch die Anweisung geänderten Zeilen.

tabelle-lesenlesend

Liest alle (oder die ersten max) Zeilen einer Tabelle ohne eigenes SQL.

Eingaben

FeldTypPflichtBeschreibung
tabelleTextjaName der zu lesenden Tabelle.
maxZahlMaximale Zeilenanzahl (SELECT TOP); ohne Angabe werden alle Zeilen gelesen.

Ausgaben (über ergebnis:)

zeilenListe der Tabellenzeilen, jede als Objekt aus Spaltenname und Wert.

datensatz-anlegenverändernd

Fügt einen neuen Datensatz aus einer Feld-Map in eine Tabelle ein.

Eingaben

FeldTypPflichtBeschreibung
tabelleTextjaName der Zieltabelle.
felderObjektjaMap aus Spaltenname und Wert für den neuen Datensatz (darf nicht leer sein).

Ausgaben (über ergebnis:)

betroffene-zeilenAnzahl eingefügter Zeilen (normalerweise 1).

datensatz-aktualisierenverändernd

Aktualisiert vorhandene Datensätze, die der WHERE-Bedingung entsprechen, mit neuen Feldwerten.

Eingaben

FeldTypPflichtBeschreibung
tabelleTextjaName der zu aktualisierenden Tabelle.
felderObjektjaMap aus Spaltenname und neuem Wert (darf nicht leer sein).
woTextjaWHERE-Bedingung, die festlegt, welche Zeilen geändert werden (z.B. [Name] = ?).
wo-parameterObjektParameterwerte für die WHERE-Bedingung.

Ausgaben (über ergebnis:)

betroffene-zeilenAnzahl der aktualisierten Zeilen.

datensatz-löschenverändernd

Löscht Datensätze, die der WHERE-Bedingung entsprechen.

Eingaben

FeldTypPflichtBeschreibung
tabelleTextjaName der Tabelle, aus der gelöscht wird.
woTextjaWHERE-Bedingung, die festlegt, welche Zeilen gelöscht werden.
wo-parameterObjektParameterwerte für die WHERE-Bedingung.

Ausgaben (über ergebnis:)

betroffene-zeilenAnzahl der gelöschten Zeilen.

tabellen-listelesend

Liefert die Namen aller Tabellen in der Datenbank.

Ausgaben (über ergebnis:)

tabellenListe der Tabellennamen.

kompaktieren-und-reparierenverändernd

Komprimiert und repariert die Access-Datenbank (Wartungsfunktion, gibt belegten Speicher frei).

Beispiele

Aktive Kunden auslesen

Liest per parametrisierter Abfrage alle aktiven Kunden aus einer Access-Datenbank und legt das Ergebnis in einer Variablen ab.

office.access
sql-abfragen
sqlSELECT * FROM [Kunden] WHERE [Aktiv] = @aktiv
parameter.aktivtrue
ergebniskunden
- office.access:
    datei: "C:\\Daten\\firma.accdb"
    aktionen:
      - sql-abfragen:
          sql: "SELECT * FROM [Kunden] WHERE [Aktiv] = @aktiv"
          parameter:
            aktiv: true
          ergebnis: kunden

Neuen Kunden anlegen und Bestand prüfen

Fügt einen Datensatz in die Tabelle Kunden ein und liest danach die aktuelle Tabelle zur Kontrolle.

office.access
datensatz-anlegen
tabelleKunden
felder.NameMüller GmbH
felder.Alter42
ergebnisangelegt
office.access
tabelle-lesen
tabelleKunden
max50
ergebnisalle_kunden
- office.access:
    datei: "C:\\Daten\\firma.accdb"
    aktionen:
      - datensatz-anlegen:
          tabelle: Kunden
          felder:
            Name: "Müller GmbH"
            Alter: 42
          ergebnis: angelegt
      - tabelle-lesen:
          tabelle: Kunden
          max: 50
          ergebnis: alle_kunden