AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fastreport VCL Sortierproblem!

Ein Thema von HCB · begonnen am 26. Jul 2024 · letzter Beitrag vom 26. Jul 2024
Antwort Antwort
Seite 1 von 2  1 2      
HCB

Registriert seit: 12. Feb 2020
168 Beiträge
 
Delphi 12 Athens
 
#1

Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 13:50
Hallo, ich raff es einfach nicht, total simple aber funktiert nicht! Folgendes SQL script funktioniert, sortiert auch richtig im FireDac Abfrageeditor:
Delphi-Quellcode:
SELECT
ABFDocErfNr, ABFDocDatum, ABFDocKundekurzbez
FROM ABFDOK
where Year (ABFDocDatum > Year(Date())-5 and ABFDocType = 1 )
ORDER BY ABFDocDatum desc;
Es wird im Abfrageeditor also das Datum absteigend sortiert angezeigt, so wie es sein soll.
Ebenso die Sortierung auf ORDER BY ABFDocErfNr desc.
Jetzt habe ich im Fastreport die Datasource mit diesem Sql zugeordnet und kann auch per Vorschau oder zur Laufzeit angesehen werden.
Das PROBLEM:
Es wird immer nach Datum aufsteigend sortiert angezeigt, egal ob im script ORDER BY desc, asc oder gar nichts angegeben ist!
Auch die Sortierung auf ORDER BY ABFDocErfNr desc wird nicht sortiert angezeigt.
Ich verzweifel.
Könnte mir jemand vielleicht einen Hinweis geben oder weiß gar woran es liegt?
Ich wäre sehr, sehr dankbar.

LG Harry
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
390 Beiträge
 
Delphi 12 Athens
 
#2

AW: Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 14:26
where Year (ABFDocDatum dahinter fehlt die ) oder? Die ist zu weit nach rechts gerückt.
Das müsste m.E. so sein:
where (Year(ABFDocDatum) > Year(Date())-5) and (ABFDocType = 1) Obwohl das nichts mit der Sortierung zu tun hat.

Geändert von Papaschlumpf73 (26. Jul 2024 um 14:29 Uhr)
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
168 Beiträge
 
Delphi 12 Athens
 
#3

AW: Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 14:31
Hallo und dank für die schnelle Antwort.
An der Klammer liegt es nicht, da es mit folgender Sortierung ja auch nicht klappt:
Delphi-Quellcode:
SELECT
ABFDocErfNr, ABFDocDatum, ABFDocKundekurzbez
FROM ABFDOK
where Year (ABFDocDatum > Year(Date())-5 and ABFDocType = 1 )
ORDER BY ABFDocErfNr desc;
Wie gesagt im SQL-Abfrageeditor wird ja die Sortierung korrekt ausgeführt.

LG Harry
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.477 Beiträge
 
Delphi 7 Professional
 
#4

AW: Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 14:41
Habe kein FastReport zur Verfügung. Soweit ich das mitbekommen habe, verfügt dieser jedoch auch über eigene Sortieroptionen. Ist da eventuell irgendwo etwas konfiguriert, das Deine Sortierung im SQL überschreibt?
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
390 Beiträge
 
Delphi 12 Athens
 
#5

AW: Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 14:43
Bist du dir sicher, dass diese Abfrage mit der falschen Klammer überhaupt ausgeführt wird bzw. ob die überhaupt ausführbar ist? Diese WHERE-Klausel (mit den falschen Klammern) macht gar keinen Sinn.
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
168 Beiträge
 
Delphi 12 Athens
 
#6

AW: Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 14:46
Hall Delphi.Narium,
ich wüsste nicht, dass ich in FR etwas habe was die Sortierung überschreiben sollte. Auch mit einem komplett neuen Report habe ich das gleiche Resultat.
Es wird einfach nicht absteigend sortiert, egal ob nach Datum oder Erfassungsnummer!
Ich weiß nicht was da faul ist.

LG Harry
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.716 Beiträge
 
Delphi 12 Athens
 
#7

AW: Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 15:03
An der Klammer liegt es nicht, da es mit folgender Sortierung ja auch nicht klappt:
Das kann so aber nicht ganz stimmen, denn hier wird ja das Ergebnis einer booleschen Berechnung als Datum behandelt und davon Jahr extrahiert.


SQL-Code:
Year( ABFDocDatum > Year(Date())-5 and ABFDocType = 1 )
Year(ABFDocDatum) > Year(Date())-5 and ABFDocType = 1
aka

SQL-Code:
Year(
  ABFDocDatum > Year(Date()) - 5
  and
  ABFDocType = 1
)
versus
SQL-Code:
Year(ABFDocDatum) > Year(Date()) - 5
and
ABFDocType = 1

Allerdings sollte es nur das WHERE und somit bloß die angezeigten Datensätze betreffen.
Am ORDER BY selbst kann ich eigentlich keinen Fehler erkennen. (macht ja auch nicht viel)

Was für einen Typen haben denn ABFDocErfNr und ABFDocDatum? (im ResultSet, nicht in der Datenbank)
z.B. Zahlen als Integer werden anders sortiert (2 ist kleiner als 11), als wenn sie als VARCHAR rauskämen ('2' ist größer als '11').
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Jul 2024 um 15:23 Uhr)
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
168 Beiträge
 
Delphi 12 Athens
 
#8

AW: Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 15:37
DANKE an alle:
Also am Script wars nicht gelegen, schon alleine deshalb weil es ja im SQL Editor problemlos und korrekt ausgeführt wurde.
Ich habe also folgendes gemacht:
1. Delphi neu gestartet, Resultat gleich
2. PC neu gestartet und Delphi neu gestartet, Resultat gleich
3. Neuen Report erstellt - Verbindung zu frxDBDataset, Resultat gleich
4. Neuen Report erstellt - Verbindung zu neuem frxDBDataset, Resultat gleich
5. Neue FDQuery mit SQL Script und Datasource im DataModul erstellt, sowie neuen Report und frxDBDataset erstellt.

JETZT GEHT ES! Ich vermute, warum auch immer hat sich etwas im Datamodul oder FDQuery verbogen. Sehr seltsam!
Ich glaube ich hatte schon einmal eine kuriose Sache, die am FDQuery lag. Alte FDQuery gelöscht, neue FDQuery eingefügt und anderen Namen verpasst, dann ging es wieder.

LG Harry
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
702 Beiträge
 
#9

AW: Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 15:46
JETZT GEHT ES! Ich vermute, warum auch immer hat sich etwas im Datamodul oder FDQuery verbogen. Sehr seltsam!
Ich glaube ich hatte schon einmal eine kuriose Sache, die am FDQuery lag. Alte FDQuery gelöscht, neue FDQuery eingefügt und anderen Namen verpasst, dann ging es wieder.
War dort vielleicht ein Index gesetzt?
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
168 Beiträge
 
Delphi 12 Athens
 
#10

AW: Fastreport VCL Sortierproblem!

  Alt 26. Jul 2024, 16:03
Hi Olli73,

kann ich nicht sagen weil ich die FDQuery gelöscht habe.

LG Harry
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:25 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