![]() |
Datenbank: mysql • Version: 4+ • Zugriff über: zeos
Formatierung einer Kontonummer im SQL Statement
Hallo Delphianer,
und wiedermal ein kleines Problem. In einem SQL Select Statement wird die Kontonummer abgefragt und für einen Rave-Report verwendet. Nun gibt es ja Vorschriften, die besagen, dass auf einer elektronisch erstellten Rechnung, die letzten 3 bzw. 4 Stellen der Kontonummer ausgeblendet bzw. durch 'xxx' ersetzt werden müssen. Beispiel DB Eintrag KtoNr = '69802036 auf dem Report sollte aber nur '6980xxxx' zu sehen sein. Ist es einfacher im Select befehl dies als ein zusätzliches Feld (Select ktoNr as xKtNr) mit einem Formatbefehl auszugeben, oder im Rave-report dies umzuformatieren? Bin gespannt auf Eure Vorschläge! Danke lg Nachtstreuner |
AW: Formatierung einer Kontonummer im SQL Statement
Du kannst doch bei der Abfrage mit SUBSTR die letzten 4 Stellen auslassen und per Konkantenation die "xxxx" anhängen.
|
AW: Formatierung einer Kontonummer im SQL Statement
Hallo DeddyH,
Danke für Deine Antwort, das Feld ist vom Typ Integer(wurde nicht von mir so deklariert), da funzt Substr nicht |
AW: Formatierung einer Kontonummer im SQL Statement
Vorher einfach noch in einen String ( VARCHAR? ) casten?
Sicher daß die Letzten weggelassen werden sollen? z.B. von PayPal und meinem Provider kenn ich es andersrum, also nur die letzen 4 Ziffern sichtbar. |
AW: Formatierung einer Kontonummer im SQL Statement
SQL-Code:
SELECT
CONCAT(CAST((KtoNr DIV 10000) AS CHAR), 'xxxx') FROM Tabelle |
AW: Formatierung einer Kontonummer im SQL Statement
Zitat:
mmmhh kein roter Kasten... |
AW: Formatierung einer Kontonummer im SQL Statement
Danke an allen, werde beide Vorschläge morgen testen.
Ein schönes Wochenende Nachtstreuner |
AW: Formatierung einer Kontonummer im SQL Statement
Also ich würde diese spezielle Art der Formatierung ganz klar auf der Clientseite, also im Programm, vornehmen.
Dies lässt sich z.B. mit dem Event OnGetText erreichen:
Delphi-Quellcode:
Ich würde in SQL auch keinesfalls durch 1000 dividieren, denn es gilt
procedure TFormReport.KontoNummerOnGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin Text := Sender.AsString; Text := copy(Text, 1, Length(Text)-3) + 'XXX'; end; eine KontoNummer ist keine Nummer sondern ein String. Genausowenig ist eine Postleitzahl eine Zahl, sondern sie ist ein String der eben nur aus Ziffern besteht. Das gleiche gilt auch für die Sozialversicherungsnummer. |
AW: Formatierung einer Kontonummer im SQL Statement
Zitat:
|
AW: Formatierung einer Kontonummer im SQL Statement
Das wird demjenigen, der mit der vorhandenen DB arbeiten muss und nur den Report erstellen darf, nicht viel nützen. Ich spreche da aus Erfahrung.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:10 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