Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Umlaute in Datenmengen (https://www.delphipraxis.net/8084-umlaute-datenmengen.html)

Kalli 28. Aug 2003 11:59


Umlaute in Datenmengen
 
Hallo,
folgendes Problem:

Ich suche mit einer SQL-Abfrage Daten aus verschiedenen Paradox-Tabellen zusammen. Diese Daten werden in einer Exceltabelle ausgegeben.

Werden die Datenfelder in die Liste der Variablen aufgenommen (Doppelclick auf Query und 'Felder hinzufügen ...'), kann ich die Eigenschaft Transliterate der TSTringFelder auf True setze und die Umlaute werden richtig angezeigt.

Da die Abfrage aber nicht immer gleich ist, kann ich diese Möglichkeit nicht nutzen und die Umlaute werden nicht dargestellt.
Ich versuche seit einigen Stunden mit der Procedure "NativToAnsi" zum Ziel zu gelangen, haut aber nicht hin.

Kann mir jemand den Baum im Wald zeigen?????

Kalli

Memo 28. Aug 2003 12:10

Re: Umlaute in Datenmengen
 
Noch mal langsam zum Verständnis. Du sagst du hast eine Paradox-DB, wieso tauchen dort ASCII-Sonderzeichen auf? ..und oder warum verwendet deine DB keinen ANSI-Sprachtreiber?..und wie sieht den eine typische select-Abfrage bei dir aus?

Kalli 28. Aug 2003 12:31

Re: Umlaute in Datenmengen
 
Die Parameter der BDE sind schon richtig gesetzt. Das Problem tritt nur bei Abfragen mit einer Query auf. Wo das Problem genauer liegt kann ich nicht sagen (sonst wäre es keins). Ich weiß nur wie ich es umständlich umgehen (Einbinden der Variablen) kann.

Kalli


So sieht eine Abfrage aus:

select a.VersNr, a.id, a.Prov_pfl_einh, a.Vertrags_art, a.pb_Aend_Grnd,
a.pb_bmg, a.pb_bmg_art, a. Prov_satz_art, a.pb_faktor_bmg,
a.pb_dat_bearb, a.pb_faktor_1,a.pb_faktor_1_art, a.pb_faktor_2,
a.pb_faktor_2_art,a.pb_faktor_storno,a.Haft_Zeit_R aum_Rest,
a.pb_berechn_art, a.ppe_entw_lnr, a.prov_satz_lnr, a.pr_korr_lnr,
a.pb_vtg_teil, a.pb_Buchungs_Monat, a.pb_dat_antrag, a.pb_dat_wirk,
a.ppe_Lnr,
b.KopfNr, b.Uv1, b.Typ1, b.Tab1, b.pf1, b.Euro1,
b.Uv2, b.Typ2, b.Tab2, b.pf2, b.Euro2,
b.Uv3, b.Typ3, b.Tab3, b.pf3, b.Euro3,
b.GL, b.TypG, b.TabG, b.pfG, b.EuroG,
b.VN, b.VP,
c.pe_Id, c.Pe_VorName, c.Pe_NachName, c.Pe_Plz, c.Pe_Ort,
d.pe_Id, d.Pe_VorName, d.Pe_NachName

from ProvSatz.db a, PrKv.db b, PersDaten c, PersDaten d

where a.id = b.KopfNr
and b.Euro2 <> 0
and pb_Buchungs_Monat = '04-2003'
and b.uv2 = '50238'
and pb_Aend_Grnd <> 'TARIF-ANP'
and pb_Aend_Grnd <> 'MIGRATION'
and b.vn = c.id
and b.vp = d.id
order by a.versnr, a.pb_vtg_teil, a.prov_pfl_einh,a.ppe_Lnr, a.ppe_entw_lnr, a.prov_satz_lnr

Memo 28. Aug 2003 12:40

Re: Umlaute in Datenmengen
 
Kommt mir irgenwie bekannt vor. Das könnte dir helfen.

Kalli 28. Aug 2003 14:24

Re: Umlaute in Datenmengen
 
Der Tipp von Memo paßt.

Ich hab die Tabelle mit den Adressdaten nach vorne genommen und schon sind die Umlaute da. Es kann sein, dass ich die Tabellen auf verschiedenen Rechnern angelegt habe. Ich werde sie neu estellen und das Ergebnis hier anhängen.

Kalli

Memo 28. Aug 2003 14:35

Re: Umlaute in Datenmengen
 
Zitat:

Zitat von Kalli
Es kann sein, dass ich die Tabellen auf verschiedenen Rechnern angelegt habe. Ich werde sie neu estellen und das Ergebnis hier anhängen.

Das ist nicht die Ursache. Ich halte es(bis mir jemand das Gegenteil beweist) für einen Bug der BDE oder Datenbankoberfläche.

Kalli 29. Aug 2003 07:54

Re: Umlaute in Datenmengen
 
Hallo,
das Problem ist fast gelöst. Die Tabellen neu erstellen und Daten übernehmen ist mir leider zu viel Arbeit, da die Tabllen (4 Stück) mit 1:n und 1:1 Beziehungen über AutoInc-Felder (ID) verbunden sind. Ich müsste diese Felder neu setzen, was nicht mal schnell gemacht ist.

Aber: Die Hilfe für Paradox 7 erklärt das Problem

Auszug aus der Hilfedatei

Der Sprachtreiber einer Tabelle bestimmt deren Sortierfolge und den verfügbaren Zeichensatz. Der Standardsprachtreiber für Paradox- und dBASE-Tabellen wird im BDE-Konfigurationsprogramm ausgewählt. (In der Online-Hilfe des BDE-Konfigurationsprogramms finden Sie weitere Informationen.)
Paradox greift in folgenden Fällen auf den Tabellen-Sprachtreiber zu:

Öffnen einer Paradox-Tabelle mit dem richtigen Sprachtreiber. Dazu gehört auch das Öffnen mehrerer Tabellen mit unterschiedlichen Sprachtreibern im Rahmen einer Arbeitssitzung.
Öffnen einer dBASE-Tabelle mit dem richtigen Sprachtreiber.
Erstellen von Tabellen im Rahmen von Kopieroperationen unter Verwendung des Sprachtreibers der kopierten Tabelle.
Erstellen von Tabellen im Rahmen von Importoperationen mit dem Standardsprachtreiber für das jeweilige Dateiformat (Paradox oder dBASE).

Bestimmen des Sprachtreibers für eine Antworttabelle (verwendet wird der Sprachtreiber der ersten Tabelle in der Abfrage).

ende des Zitats

Ich weiß inzwischen, das ich die Tabellen auf verschiedenen Rechnern angelegt habe und einer der Rechner hatte als Sprachtreiber nicht AnsiIntl. Da diese Tabelle als erste in der from-Klausel steht, ist nach obigem Auszug das Ergebnis i.O.. Das Problem ist demnach selbstgemacht.

Kalli

Memo 29. Aug 2003 12:32

Re: Umlaute in Datenmengen
 
Zitat:

Zitat von Kalli
Ich weiß inzwischen, das ich die Tabellen auf verschiedenen Rechnern angelegt habe und einer der Rechner hatte als Sprachtreiber nicht AnsiIntl. Da diese Tabelle als erste in der from-Klausel steht, ist nach obigem Auszug das Ergebnis i.O.. Das Problem ist demnach selbstgemacht.

Ich schwöre, das meine Tabellen auf ein und dem selben Rechner angelegt wurden und ich noch niemals den Sprachtreiber verdreht habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz