Hallo disconektar,
ich hab jetzt Dein Problem nicht eingehend getestet, aber wenn Du den SQL-Code eh schon hast, dann mach Dir Doch einfach eine Abfrage und schreib den da rein?! Das findest Du bei den Abfragen unter "Abfrage in SQL-Ansicht erstellen". Da mußt Du nur noch rausfinden, welche Hochkommas Base wo haben will (bei mir kommen um jeden Tabellennamen normalerweise diese Akzente (`), in Where-Klauseln aber Hochkommas ( ' ) ), dann sollte sich das irgendwie machen lassen.
Viele Grüße
AhQ
Aktualisierungsabfrage?
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Aktualisierungsabfrage?
...nun, "Abfragen" im entsprechenden Bereich einer Base-Datei erlauben nur SELECTs, keine INSERT oder UPDATE Anweisungen.
Letztere können aber über Extras>SQL... abgesetzt werden.
Hilft das?
Letztere können aber über Extras>SQL... abgesetzt werden.
Hilft das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Aktualisierungsabfrage?
ok, das hab ich nicht gewußt (weil auch noch nie bebraucht).
Dann wird disconektar wohl um ein kleines Makro nicht drumrumkommen.
Das ist aber eher was für komma4 und die anderen, die sich damit auskennen...
AhQ
Dann wird disconektar wohl um ein kleines Makro nicht drumrumkommen.
Das ist aber eher was für komma4 und die anderen, die sich damit auskennen...
AhQ
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Aktualisierungsabfrage?
...geht ja auch -wie oben beschrieben- ohne Makro.
Speichern der SQL-Anweisung in einem Writer-Dokument, kopieren, Wechseln zu Base, Extras>SQL....
Speichern der SQL-Anweisung in einem Writer-Dokument, kopieren, Wechseln zu Base, Extras>SQL....
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Aktualisierungsabfrage?
Wenn diese Aktualisierung öfter ausgeführt werden soll, dann bietet sich wirklich ein Makro an.
Die SQL-Syntax ist von der verwendeten Datenbank-engine abhängig.
Meine Glaskugel sagt: "die interne HSQLDB Datenbank (sonst stünde dort ein DBMS)"
Dann birgt Deine Abfrage ein kleines Problem: es fehlen bei HSQLDB noch SQL-Funktionen zum Rechnen mit einem DATE Feld.
Das wird also das Makro erledigen müssen.
Der Zugriff auf einen Datenbestand in einem Base-Dokument geht mit den Standard-Anweisungen hierzu (Du musst an der gekennzeichneten Stelle den Inhalt der Variablen sDatenQuelle ändern
Wie Makros zu installieren (oder auch aufzurufen) sind, steht im Wiki, siehe: Makros installieren
Das Makro könntest Du auch ohne Formular laufen lassen, um die Aktualisierung zu erreichen.
Aus Deinem Formular kannst Du es bei einem Ereignis aufrufen.
Kommst Du damit zurecht?
Die SQL-Syntax ist von der verwendeten Datenbank-engine abhängig.
Meine Glaskugel sagt: "die interne HSQLDB Datenbank (sonst stünde dort ein DBMS)"
Dann birgt Deine Abfrage ein kleines Problem: es fehlen bei HSQLDB noch SQL-Funktionen zum Rechnen mit einem DATE Feld.
Das wird also das Makro erledigen müssen.
Der Zugriff auf einen Datenbestand in einem Base-Dokument geht mit den Standard-Anweisungen hierzu (Du musst an der gekennzeichneten Stelle den Inhalt der Variablen sDatenQuelle ändern
Wie Makros zu installieren (oder auch aufzurufen) sind, steht im Wiki, siehe: Makros installieren
Code: Alles auswählen
Sub updateHSQLDB
' 2006-08-21 SELECT Version
' 2008-03-12 UPDATE Version für de.16482
' Zugriff auf HSQLDB Daten in einem geschlossenen Dokument
' >>>
' >>> NAME DER REGISTRIERTEN DATENQUELLE HIER ÄNDERN
' >>>
sDatenQuelle = "hsql_copyTo"
' >>>
' >>>
' >>>
' Kontext holen
oDatenbankKontext = _
createUnoService( "com.sun.star.sdb.DatabaseContext" )
' Datenquelle auswählen
oDatenquelle = _
oDatenbankKontext.getByName( sDatenQuelle )
' Verbindung zur DB herstellen
' interne HSQLDB
oVerbindung = _
oDatenquelle.getConnection( "" , "")
' Statement erzeugen
oStatement = _
oVerbindung.createStatement
' Datum berechnen
sISODatum = _
cDateToISO( date() - 60 )
' Vergleichsdatum aufbereiten
sVergleichDatum = _
"'" & _
LEFT( sISODatum , 4 ) & "-" & _
MID( sISODatum, 5, 2 ) & "-" & _
RIGHT( sISODatum , 2 ) & "'"
' Abfrage
sSQL = _
" UPDATE ""tblAnfragen"" " & _
" SET ""tblAnfragen"".""Name"" = 'x', " & _
" ""tblAnfragen"".""Vorname"" = 'y' " & _
" WHERE ( ""tblAnfragen"".""Eingang"" " & _
" >= CONVERT( " & sVergleichDatum & ", 'DATE') ) ; "
' Abfrage absetzen
oResultSet = _
oStatement.executeQuery( sSQL )
End Sub
Das Makro könntest Du auch ohne Formular laufen lassen, um die Aktualisierung zu erreichen.
Aus Deinem Formular kannst Du es bei einem Ereignis aufrufen.
Kommst Du damit zurecht?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Aktualisierungsabfrage?
Ich wüsste nicht wie eine Access-Abfrage abgerufen werden kann.
Wo liegt Dein Verständnisproblem bei dem von mir geposteten Code?
Was funktioniert nicht wie gewünscht?
Wo liegt Dein Verständnisproblem bei dem von mir geposteten Code?
Was funktioniert nicht wie gewünscht?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Aktualisierungsabfrage?
Nein, nein: so geht das nicht!
Eine BASE-Datei ist ein Container verschiedener Dokumente mit Verbindung zu einer Datenbank (auch zu einer eingebetteten HSQLDB).
Suchst Du in der OOo Hilfe nach Access findest Du u.a.:
http://wiki.services.openoffice.org/wiki/MSA-Base_Faq
Eine BASE-Datei ist ein Container verschiedener Dokumente mit Verbindung zu einer Datenbank (auch zu einer eingebetteten HSQLDB).
Suchst Du in der OOo Hilfe nach Access findest Du u.a.:
http://wiki.services.openoffice.org/wiki/MSA-Base_Faq
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)