Hallo,
bin gerade dabei eine Adressen Datenbank für Serienbriefe aufzubauen.
Das Problem dabei ist nun das nicht immer alle Adressaten einer Kategorie einen Brief bekommen sollen.
Aus diesem Grund habe ich ein Bool Feld hinzugefügt was für die Auswahl zuständig sein soll und per Formular (ClickBox) manipuliert wird.
Um die Benutzung einfacher zu machen ist es nun mein Ziel dieses Feld per Macro zu resetten (auf Nein zu setzen).
Leider konnte ich über die Manipulation von einer Tabelle in Base per Makro nichts finden.
Hat mir da jemand einen Tipp?
Vielen Dank
Uenz
Bool Feld per Makro zurücksetzen
Moderator: Moderatoren
Re: Bool Feld per Makro zurücksetzen
Hab etwas zu kompliziert Gedacht. Die Manipulation ist über SQL recht einfach.
Falls es jemanden interessiert:
Falls es jemanden interessiert:
Code: Alles auswählen
sub ResetSerienbriefFeld
rem ----------------------------------------------------------------------
' Datenbankkontext erzeugen
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
' Datenbankname festlegen
DIM DatabaseName AS STRING
DatabaseName="DeinDatenbankname"
' Erwartete Datenbank angemeldet?
IF DatabaseContext.hasByName(DatabaseName)=true THEN
' Datenquelle wählen
Datenquelle = DatabaseContext.getByName(DatabaseName)
' bei Bedarf Dialog für Passwortschutz aufrufen
IF NOT Datenquelle.IsPasswordRequired THEN
Verbindung = Datenquelle.GetConnection("","")
ELSE
Authentifizierung = createUnoService("com.sun.star.sdb.InteractionHandler")
Verbindung = Datenquelle.ConnectWithCompletion(Authentifizierung)
END IF
' SQL-Kommunikationskanal aufbauen
SQL_Anweisung = Verbindung.createStatement()
' SQL-Anweisung ausführen
DIM Sql AS STRING
'build sql comman update "Deine Tabelle" set "Deine Spalte"=0
Sql = "update "+CHR(34)+"DeineTabelle"+CHR(34)+" set "+CHR(34)+"DeineSpalte"+CHR(34)+"=0"
'execute Sql command
SQL_Anweisung.executeUpdate (Sql)
ELSE
MsgBox "Datenbank ist nicht angemeldet. Bitter unter "+DatabaseName+"anmelden!"
END IF
end sub