Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TFDTable in Master/Detail Verknüpfungen (https://www.delphipraxis.net/205543-tfdtable-master-detail-verknuepfungen.html)

Gremlin 22. Sep 2020 08:37

Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDac

TFDTable in Master/Detail Verknüpfungen
 
Hallo,


ich habe hier ein nicht nachvollziehbares Problem, für das ich keine Erklärung finde.
Dies äussert sich darin, dass eine Sortierung und Browsen innerhalb des Grids nicht oder nicht richtig möglich ist, wenn die Sortierung über ein String-Feld eingestellt ist und im String-Feld Umlaute vorhanden sind.

Wird eine aufsteigende Sortierung über
Delphi-Quellcode:
tblDetail.IndexFieldNames := 'Nr;Matchcode:A;PosNr';
zur Laufzeit eingestellt, so kann im Grid nach unten über den letzten Datensatz hinaus weitergescrollt werden.
Wird eine absteigende Sortierung über
Delphi-Quellcode:
tblDetail.IndexFieldNames := 'Nr;Matchcode:D;PosNr';
zur Laufzeit eingestellt, so kann im Grid nach oben über den ersten Datensatz hinaus weitergescrollt werden.

In beiden Fällen, werden Datensätze zur Anzeige aus bestehenden Datensätzen verwendet.


Der Formularaufbau ist wie folgt

Auf einem Formular sind jeweils zwei TFDTable+TDataSource+TDBNavigator Komponenten vorhanden, die beiden TFDTables greifen über eine TFDConnection auf einen Firebird-Server zu. Die Daten der Tabelle 1 werden über zwei DBFelder (Nr, Matchcode), die Daten aus der Tabelle 2 über einen TDBGrid angezeigt.

Die Strukturen der Tabellen sind wie folgt (im weiteren Master und Detail):

Master: Nr integer, Matchcode varchar(100) und Index auf Nr und Index auf Matchcode
Detail: Nr, PosNr integer, Matchcode varchar(100) und Index auf Nr, PosNr und Index auf Matchcode

Die Detail-Tabelle ist über das Feld 'Nr' mit Master 'Nr' verknüpft


Fragen:

- Kann über FireDac überhaupt eine einfache Master/Detail-Beziehung richtig angezeigt werden?
- Sind spezielle Einstellungen notwendig für TFDConnection, TFDTable, ...?
- Ist es besser oder notwendig, Alternativ-Komponenten einzusetzen?
- Hat jemand eventuell ein verfügbares und funktionierendes Beispielprojekt?
- Warum hat es unter FireDAC für Delphi7 funktioniert?

Vielen Dank

Uwe Raabe 22. Sep 2020 09:20

AW: TFDTable in Master/Detail Verknüpfungen
 
Bei der internen Sortierung von TFDTable ist eventuell die Einstellung von FormatOptions.SortLocale und/oder FormatOptions.SortOptions anzupassen. Das gilt umso mehr, wenn die Codepage der Datenbank nicht mit der von Windows übereinstimmt. Wenn Umlaute vorkommen und ein Delphi ab 2009 eingesetzt wird, sollte die FB-Datenbank besser auf UTF8 stehen. Manchmal kann man das aber auch nicht durchsetzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 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