Seite 1 von 1

SQL-Abfrage "EndOfMonth" -> HSQL Update?

Verfasst: Di, 27.01.2015 14:55
von madmatmed
Hallo zusammen,

nachdem ich nun stundenlang gesucht habe, habe ich mich nun doch entschlossen hier nach Hilfe zu fragen.

Mein ursprüngliches Problem:
Ich schreibe eine Abfrage, bei der ich den letzten Tag des Monats haben möchte. Ich bin beim Suchen über so einige Funktionen gestoßen:
DATEADD, EOMONTH, LAST_DATE...

Leider kommt bei allen immer die gleiche Fehlermeldung "Access is denied: EOMONTH in Statement...", bzw. "Access is denied: DATEADD in Statement..." o.ä.

Hier mal die Abfrage, die funktioniert, wenn ich das "LastDayOfMonth"-Feld weglasse.

Code: Alles auswählen

SELECT 
  "ExpensesThisMonth", 
  "BalanceLastMonthCurrentAccount", 
  "ActualBalanceSavingsAccount", 
  "ActualBalanceCurrentAccount", 
  DAYOFMONTH( CURRENT_DATE ) AS "ActualDayOfMonth", 
  LAST_DAY( CURRENT_DATE ) AS "LastDayOfMonth" 
FROM 
  ( SELECT SUM( "Amount" ) AS "ExpensesThisMonth" FROM "FinanceLedgerEntry" WHERE ( "Account" = 0 ) AND ( "Type" = 0 ) AND ( MONTH( "PostingDate" ) = MONTH( CURRENT_DATE ) ) AND ( YEAR( "PostingDate" ) = YEAR( CURRENT_DATE ) ) ), 
  ( SELECT SUM( "Amount" ) AS "BalanceLastMonthCurrentAccount" FROM "FinanceLedgerEntry" WHERE ( "Account" = 0 ) AND ( MONTH( "PostingDate" ) < MONTH( CURRENT_DATE ) ) OR ( YEAR( "PostingDate" ) < YEAR( CURRENT_DATE ) ) ), 
  ( SELECT SUM( "Amount" ) AS "ActualBalanceSavingsAccount" FROM "FinanceLedgerEntry" WHERE ( "Account" = 1 ) ), 
  ( SELECT SUM( "Amount" ) AS "ActualBalanceCurrentAccount" FROM "FinanceLedgerEntry" WHERE ( "Account" = 0 ) )
Jetzt bin ich darüber gestoßen, dass man da wohl ein HSQLDB - Update machen muss, um auf diese Funktionen zugreifen zu können. Leider finde ich keine Anleitung, wie ich das machen kann. Mein LibreOffice ist ansonsten aktuell. Habt ihr Rat?

Vielen Dank schon mal im Voraus.

Gruß
Mathias

Re: SQL-Abfrage "EndOfMonth" -> HSQL Update?

Verfasst: Di, 27.01.2015 17:56
von F3K Total
madmatmed hat geschrieben:Habt ihr Rat?
Nun,
schau mal z.B. hier:https://forum.openoffice.org/en/forum/v ... 74#p304374, einfach mal an einer Kopie deiner DB ausprobieren ...
Gruß R

Re: SQL-Abfrage "EndOfMonth" -> HSQL Update?

Verfasst: Di, 27.01.2015 19:37
von madmatmed
Hat super funktioniert, danke

Re: SQL-Abfrage "EndOfMonth" -> HSQL Update?

Verfasst: Di, 27.01.2015 19:45
von madmatmed
hm.... doch nicht... meine Tabellen sind verschwunden... hab ich was falsch gemacht?

Re: SQL-Abfrage "EndOfMonth" -> HSQL Update?

Verfasst: Di, 27.01.2015 20:06
von F3K Total
Ja! Sonst wären sie da!

Re: SQL-Abfrage "EndOfMonth" -> HSQL Update?

Verfasst: Di, 27.01.2015 21:34
von madmatmed
Vielleicht jemand mit einem nützlichen Hinweis?

Re: SQL-Abfrage "EndOfMonth" -> HSQL Update?

Verfasst: Mi, 28.01.2015 14:03
von madmatmed
OK... ich bin etwas überrascht... Ich hab die odb extrahiert... und hab alle Schritte befolgt... in dem Moment, wenn ich die extrahierten Dateien wieder lösche, sind auch die Tabellen in der DB weg... ich dachte das Script macht nur ein Update der Datenbank und das war es... aber dem ist wohl nicht so...

Re: SQL-Abfrage "EndOfMonth" -> HSQL Update?

Verfasst: Mi, 28.01.2015 16:51
von F3K Total
Moin,
madmatmed hat geschrieben:aber dem ist wohl nicht so...
ganz genau. Die vier Dateien (.script, .properties ... usw.) SIND die Datenbank.
Du hast jetzt eine Datenbank mit Frontend (OpenOffice) und Backend (.script, .properties ... usw.). Und nur diese kann mit der aktuellen Version von HSQLDB laufen, OpenOffice weiß quasi nix davon, darum, denn ich weiß, dass diese Fragen kommen werden, geht auch das GUI nicht mehr vollständig.
Ein sinnvolles Vorgehen ist:
Datenbankdesign mit der eingebetteten HSQLDB 1.8.0.10, wenn fertig, upgrade auf HSQLDB 2.3.2, Änderungen an der DB dann über Tools/SQL... mit den entsprechenden SQL Befehlen.
Gruß R

Re: SQL-Abfrage "EndOfMonth" -> HSQL Update?

Verfasst: Mi, 28.01.2015 17:45
von madmatmed
Alles klar... danke für die Erklärung