AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken C++ Paradox DB: YEAR-Funktion geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Paradox DB: YEAR-Funktion geht nicht

Ein Thema von chullain · begonnen am 14. Jul 2006 · letzter Beitrag vom 17. Jul 2006
Antwort Antwort
Seite 2 von 2     12   
chullain

Registriert seit: 14. Jul 2006
8 Beiträge
 
#11

Re: Paradox DB: YEAR-Funktion geht nicht

  Alt 16. Jul 2006, 19:54
ja, ich mein, wenn ich die Text-Variable mit meinem "SubSelect" befüllt habe, dann muss ich ja die Add-Funktion aufrufen, und dort mein Hautp-Sql-Statement mit dem Outer Join aufrufen, oder?

Also den hier:

Code:
DataModule1->Q2_SQL->SQL->Add("
SELECT ks.Jahr, MAX(ks.Stichtag) AS Stichtag, SUM(ks.Umsatz) AS Umsatz
FROM Konten k
LEFT JOIN ????? ks ON k.LftNr = ks.LftNr_Konto
WHERE k.Kunden_Nr = :kunden_nr AND ks.stichtag < :stichtag
GROUP BY jahr
ORDER BY jahr")
...nur was kommt an die Stelle mit den Fragezeichen (????) ?

Gruss,
chullain
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Paradox DB: YEAR-Funktion geht nicht

  Alt 16. Jul 2006, 19:56
Wie stehen diese beiden Abfragen im Verhältnis?
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: Paradox DB: YEAR-Funktion geht nicht

  Alt 16. Jul 2006, 20:06
Hallo ihr zwei beiden,

ihr entfernt euch immer weiter von der Lösung des Problems, welche ich in Beitrag #4 beschrieben habe - das Schlüsselwort ist BDE-View. Local-SQL kennt keine Views wie Standard-SQL, aber durch den Trick mit dem Speichern eines SELECT-Statements in einer SQL-Datei und die Einbindung dieser SQL-Datei als Tabellenreferenz werden Views "möglich".

Mich würde interessieren, welcher Fehler genau gemeldet wird. Es muss sich auf jeden Fall um einen Laufzeitfehler handeln und ich vermute, dass die SQL-Datei KSVIEW.SQL nicht an der erwarteten Stelle steht.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
chullain

Registriert seit: 14. Jul 2006
8 Beiträge
 
#14

Re: Paradox DB: YEAR-Funktion geht nicht

  Alt 17. Jul 2006, 11:05
Hallo,

also wenn ich diesen SQL-Statement absetzte:

SQL-Code:
SELECT ks.Jahr, MAX(ks.Stichtag) AS Stichtag, SUM(ks.Umsatz) AS Umsatz
FROM Konten k
LEFT JOIN "ksview.sql" ks ON k.LftNr = ks.LftNr_Konto
WHERE k.Kunden_Nr = :kunden_nr AND ks.stichtag < :stichtag
GROUP BY jahr
ORDER BY jahr
Dann in der Form:

Code:
DataModule1->Q2_SQL->SQL->Add("Select..."ksview.sql"...");
dann bekomme ich schon mal die Fehlermeldung: ...Function call missing ) , klar, weil ich mit den Hochkommata das Select-Statement zumache und dann erwartet der Compiler, das Schliessen der Funktion Add mit der Klammer )

Meine Frage, ist wie kann ich diess Datei einbinden, so wahrscheinlich ist es total verkehrt...

Gruss,
chullain
  Mit Zitat antworten Zitat
Waldteufel
(Gast)

n/a Beiträge
 
#15

Re: Paradox DB: YEAR-Funktion geht nicht

  Alt 17. Jul 2006, 11:47
Hi Chullain.

Zitat von chullain:
Meine Frage, ist wie kann ich diess Datei einbinden, so wahrscheinlich ist es total
Nein. Es ist sogar genau richtig. Du musst nur das Anführungszeichen escapen, sodass es zum String-Inhalt zählt.

So geht's hoffentlich:
Code:
DataModule1->Q2_SQL->SQL->Add("Select...\"ksview.sql\"...");
(man beachte den dezenten Backslash )

Gruß,
Waldteufel
  Mit Zitat antworten Zitat
chullain

Registriert seit: 14. Jul 2006
8 Beiträge
 
#16

Re: Paradox DB: YEAR-Funktion geht nicht

  Alt 17. Jul 2006, 12:59
ok, vielen Dank erstmal, die Lösung kann manchmal so einfach sein, jetzt kriege ich aber die Fehlermeldung dass ...Expressions in group by are not supported...

Obwohl ich wie beschrieben, die SQL Statements aufgebaut habe:

SQL-Code:
/* ksview.sql */ 
SELECT LftNr_Konto, Stichtag, Umsatz, EXTRACT(YEAR FROM Stichtag) as Jahr
FROM Konto_Stand

SQL-Code: markieren
SQL-Code:
SELECT ks.Jahr, MAX(ks.Stichtag) AS Stichtag, SUM(ks.Umsatz) AS Umsatz
FROM Konten k
LEFT JOIN "ksview.sql" ks ON k.LftNr = ks.LftNr_Konto
WHERE k.Kunden_Nr = :kunden_nr AND ks.stichtag < :stichtag
GROUP BY Jahr
Die Datei ist auf jeden Fall im richtigen Ordner

Gruss,
chullain
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#17

Re: Paradox DB: YEAR-Funktion geht nicht

  Alt 17. Jul 2006, 15:16
Bitte prüfe die Korrektheit des SQL-Codes zuerst außerhalb deines Programms. Du kannst dazu den Database-Desktop von Borland verwenden oder jedes andere BDE-kompatible Werkzeug. Wenn ich mich recht erinnere, so hatte ich den SQL-Code bei mir getestet. Bei Fehlern innerhalb deines eigenen Programms kann ich dir nicht so gut helfen.

marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz