Autor Beitrag
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Sa 18.05.13 06:46 
Hi, Delpher,

wie kann ich die Sortierreihenfolge so ändern, dass z.B. Özdemir als Oezdemir eingeordnet wird und nicht "später"
ausgegeben wird?

Danke, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 18.05.13 08:00 
Nach dem order by kannst du die Sortierung mit collate einstellen. Beim
MS SQL Server gibt es z.B. deutsch oder auch deutsch wie im Telefonbuch.

Für diesen Beitrag haben gedankt: D. Annies
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Sa 18.05.13 17:23 
Moin, moin,

komme leider nicht weiter, die Phrasen, die ich versucht habe, werden zur
Laufzeit leider alle abgelehnt, z.B. collate latin1_german2_ci usw.

Fehlermeldung ist: Allgemeiner SQL-Fehler, unrecognized phrase/keyword.

Noch ne Idee?

LG, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Sa 18.05.13 17:34 
Hallo, welchen SQL-Server benutzt Du denn? Bei MySQL sollte das mit dem Collate funktionieren.

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Sa 18.05.13 17:38 
Hi,

es ist noch die alte BDE-Umgebung, und ein FoxPro-Treiber - leider.

LG, Detlef

_________________
ut vires desint, tamen est laudanda voluntas
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Sa 18.05.13 17:48 
Detlef, dann wird wohl das mit Collate nicht funktionieren. Versuche doch mal in der Systemsteuerung die BDE-Verwaltung und dort bei Foxpro-Treiber einen anderen Langdriver (Da gibt es Auswahlen (z.B. DBASE deu cp 850).

Alternative: Langdriver auf 'WEurope' ANSI

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.


Zuletzt bearbeitet von Tranx am So 19.05.13 06:29, insgesamt 1-mal bearbeitet

Für diesen Beitrag haben gedankt: D. Annies
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 18.05.13 22:18 
user profile iconD. Annies hat folgendes geschrieben Zum zitierten Posting springen:
es ist noch die alte BDE-Umgebung, und ein FoxPro-Treiber - leider.
Dann wirst du das wohl manuell hinterher sortieren müssen, wenn du die Daten aus der DB ausliest. Denn meines Wissens wird dort collate generell nicht unterstützt und die wenigen verfügbaren Einstellungen beinhalten glaube ich keine, die dir da helfen kann.

Für diesen Beitrag haben gedankt: D. Annies
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: So 19.05.13 06:36 
Was auf vielleicht möglich ist, aber sicher Deine Datenbankperformance sehr stark herabsetzt, ist ein berechnetes Feld, nach dem Du dann sortierst (wenn das geht, ich habe es selber , wegen des Performanceverlustes noch nicht ausprobiert). Du musst dann manuell, wie Jaenicke schreibt, das Sortierfeld und deren Inhalte bearbeiten:


Oezdemir -> OEZDEMIR
Özdemir -> OEZDEMIR
Müller -> MUELLER
:

Vielleicht ist das ein Weg. Aber - wie gesagt, sicher mit starkem Performanceverlust verbunden. Oder Du erzeugst ein Sortierfeld und dann belegst Du dieses mit den oben geannten Werten aus Deiner Datenbank. Dann musst Du bei jeder Änderung deines Ursprungsfeldes aber auch gleich das Sortierfeld mit ändern!! Und bei jedem Anlegen eines neuen Datensatzes das Sortierfeld mit belegen!

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.

Für diesen Beitrag haben gedankt: D. Annies
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 19.05.13 09:11 
user profile iconTranx hat folgendes geschrieben Zum zitierten Posting springen:
Was auf vielleicht möglich ist, aber sicher Deine Datenbankperformance sehr stark herabsetzt, ist ein berechnetes Feld, nach dem Du dann sortierst (wenn das geht, ich habe es selber , wegen des Performanceverlustes noch nicht ausprobiert).
Das würde nur bei einer Datenmenge im Speicher funktionieren, bei der man zur Laufzeit einen Index darauf setzen kann. TClientDataSet unterstützt das, wäre aber nur in Delphi 6 Enterprise verfügbar, die kostenlosen Versionen Delphi 7 PE und TD (aus den Profilangaben) haben das beide nicht. Auch Alternativen wie TADMemTable aus AnyDAC/FireDAC könnten das, aber auch das kostet ja.

Insofern ist die sinnvollste Variante schon alles aus der DB auszulesen und die Daten manuell zu behandeln. Es geht ja hier vermutlich immer noch um Schülerdaten, und selbst wenn das dann 1000 Datensätze wären, das könnte man ja in Millisekunden alles selbst sortieren usw. (etwas ähnliches habe ich vor einigen Jahren mal gemacht, da dauerte dann ein Live-Filter auf alle Felder bei mehreren hundert Datensätzen in einer eigenen Datenstruktur nur wenige Millisekunden).

Für diesen Beitrag haben gedankt: D. Annies
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: So 19.05.13 16:01 
Hi, Sebastian,

mittlerweile konnte ich eine IdNr mit auslesen und danach sortieren.

Danke für deine Mühe.

LG, Detlef

_________________
ut vires desint, tamen est laudanda voluntas