Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Float-Werte für Filterung mit Nachkommastellen maskieren (https://www.delphipraxis.net/177508-float-werte-fuer-filterung-mit-nachkommastellen-maskieren.html)

messie 10. Nov 2013 18:47

Datenbank: Firebird • Version: 2.5x • Zugriff über: IBDAC

Float-Werte für Filterung mit Nachkommastellen maskieren
 
Moin,

vielleicht fehlen mir nur die richtigen Suchbegriffe aber zu meiner Frage bekomme ich keine Ergebnisse.
Ich habe Float-Felder, die ich gerne in einem TCRDBGrid filtern möchte. Die Funktion zum Filtern gehört ja dazu. Nun habe ich die Anzeige im Grid auf drei Nachkommastellen begrenzt. Eine Filterung schlägt deshalb fehl, da sie ja auf die DB und nicht auf die Anzeige angewendet wird und da sind die Nachkommastellen nicht begrenzt. Eine Aussage ob das vom TCRDBGrid so korrekt ist mag ich mangels Erfahrung nicht tätigen.

Gibt es dazu eine sinnvolle Strategie?

Danke, Messie

Union 10. Nov 2013 19:38

AW: Float-Werte für Filterung mit Nachkommastellen maskieren
 
Gibt es dort keine Option, ob die Filterung auf die Datenmengen-Werte oder die Anzeigewerte erfolgen soll? Bei DevExpress gibt es das z.b.

messie 10. Nov 2013 20:35

AW: Float-Werte für Filterung mit Nachkommastellen maskieren
 
Zitat:

Zitat von Union (Beitrag 1235348)
Gibt es dort keine Option, ob die Filterung auf die Datenmengen-Werte oder die Anzeigewerte erfolgen soll? Bei DevExpress gibt es das z.b.

Magst Du mir da mal mit Stichworten bei den Eigenschaften aushelfen?

Danke, Messie

Furtbichler 11. Nov 2013 06:52

AW: Float-Werte für Filterung mit Nachkommastellen maskieren
 
Andere Idee: Du prüfst auf Gleichheit, nicht wahr? Verwendest Du vielleicht den Filter des Datasets? Oder macht das dieses Grid?

Falls Du das machst, dann ändere die Bedingung von 'Feld=1.23' auf 'Feld>=1.229 and Feld<=1.231' o.ä..

EarlyBird 11. Nov 2013 10:28

AW: Float-Werte für Filterung mit Nachkommastellen maskieren
 
Noch eine andere Idee:
Du erstellst eine Abfrage in der du das Floatfield auf 3 stellen rundest und nimmst die Abfrage als Datasource für das Grid
Delphi-Quellcode:
SELECT Floatwert, round([Floatwert],3) as Floatgerundet
  FROM Tabelle

Furtbichler 11. Nov 2013 13:51

AW: Float-Werte für Filterung mit Nachkommastellen maskieren
 
Das funktioniert auch nicht zuverlässig, da '0.1 <> 1.0-0.9'. Altbekanntes floating point problem.
Wenn deine Anwendung kein BCD hat, musst Du in Delphi mit Bereichen filtern oder die Zahl als Text ansehen. Dann wird es aber mit Relationen schwierig (<,>)

messie 11. Nov 2013 19:12

AW: Float-Werte für Filterung mit Nachkommastellen maskieren
 
Moin,

und Danke für Eure Hilfe. Die Grid-Kompo filtert nach Gleichheit. Somit dürfte die Variante von Earlybird auf den ersten Blick die beste sein. Ich werde berichten.

Grüße, Messie

messie 17. Nov 2013 20:14

AW: Float-Werte für Filterung mit Nachkommastellen maskieren
 
Hallo,

nun wollte ich da mal weiter machen. Leider entstehen in dem Projekt große zeitliche Pausen die es nicht einfacher machen, das richtig zu durchdringen - sorry.

Die Variante von Earlybird hat nicht funktioniert. Ich habe den View auf die drei Stellen begrenzt und auch die Variante mit der neuen Variablen (as Roundedvalue) probiert.

Ich verstehe es noch nicht ganz. Was mir auffällt, ist die Darstellung in Flamerobin. Warum bekomme ich sechs Nachkommastellen angezeigt, egal ob ich zwei oder drei Stellen im View angebe? Es kommt mir so vor als wäre der View gar nicht so gerundet wie erwartet.

Danke, Messie

messie 19. Apr 2015 19:28

AW: Float-Werte für Filterung mit Nachkommastellen maskieren
 
Zitat:

Zitat von messie (Beitrag 1235342)
Moin,

vielleicht fehlen mir nur die richtigen Suchbegriffe aber zu meiner Frage bekomme ich keine Ergebnisse.
Ich habe Float-Felder, die ich gerne in einem TCRDBGrid filtern möchte. Die Funktion zum Filtern gehört ja dazu. Nun habe ich die Anzeige im Grid auf drei Nachkommastellen begrenzt. Eine Filterung schlägt deshalb fehl, da sie ja auf die DB und nicht auf die Anzeige angewendet wird und da sind die Nachkommastellen nicht begrenzt. Eine Aussage ob das vom TCRDBGrid so korrekt ist mag ich mangels Erfahrung nicht tätigen.

Gibt es dazu eine sinnvolle Strategie?

Danke, Messie

Moin,

das Thema ist jetzt tatsächlich wieder aktuell.
Ich kann leider weiterhin nur Ganzzahlen filtern. Zahlen mit Nachkommastellen lassen sich nicht filtern, obwohl der zum Grid zugeordnete View mit drei Nachkommastellen erzeugt und angezeigt wird.

Eine Zahl aus dem View 0,100 kann ich also nicht ausfiltern. Warum? Auch mein Round(Param,digits)-View wird in Flamerobin nicht korrekt angezeigt. Liegt das Problem darin?

Grüße, Messie

mkinzler 19. Apr 2015 19:33

AW: Float-Werte für Filterung mit Nachkommastellen maskieren
 
Zeige mal die Abfrage.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:24 Uhr.
Seite 1 von 3  1 23      

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