AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBGrid nach/bei Abfrage Strings ersetzen?
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid nach/bei Abfrage Strings ersetzen?

Ein Thema von mrschmidt · begonnen am 21. Mär 2007 · letzter Beitrag vom 22. Mär 2007
Antwort Antwort
mrschmidt

Registriert seit: 21. Mär 2007
3 Beiträge
 
#1

DBGrid nach/bei Abfrage Strings ersetzen?

  Alt 21. Mär 2007, 14:50
Datenbank: Firebird • Version: 2 • Zugriff über: IBDataBase
Hallo liebe Community,

ich bin zugegeber Massen ein Delphi-Anfänger. Benutze Delphi 6 uns stehe vor folgendem Problem (Vielleicht kann mir ja mal einer mit dem Zaunpfahl winken):

Ich habe eine Kunden-Datenbank (Firebird) die mittels DataSource<-IBDataSet<-IBDataBase ein DBGrid "befüllt".

Nun möchte ich beim oder nach dem Befüllen einige Strings im DBGrid ersetzen ("1" wird zu "1 - bereits Kunde", "0" wird zu "0 - kein Kunde" usw. ... hier sind einige Spalten des DBGrids in dieser Art zu Bearbeiten)

Ein OnDraw-Ereignis kommt eher nicht in Frage, da ich auch schon eine Druck-Routine geschrieben habe die die Werte des DBGrids ausliest und zu papier bringt, diese soll nach Möglichkeit weiterhin genau das drucken was in den Zellen steht und nicht auch (nochmal) die Strings ersetzen.

Gibt es dafür eine Lösung, wo muss ich ansetzen?

Vielen Dank für Eure Tips.

Liebe Grüsse,
Mr.Schmidt
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#2

Re: DBGrid nach/bei Abfrage Strings ersetzen?

  Alt 21. Mär 2007, 15:35
Habe mit FB noch nie gearbeitet, aber sicher gibt es auch einen IF Befehl den Du in einer Query einsetzen kannst
z.Bsp.

SQL-Code:
select if(DeineSpalte = 1,'1 - bereits Kunde','0 - kein Kunde')
from DeinerTabelle
Uwe
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: DBGrid nach/bei Abfrage Strings ersetzen?

  Alt 21. Mär 2007, 15:50
Du solltest eine neue Tabelle "KundenStatus" einführen:
Code:
IdKStatus KStatusText
=====================
        0 kein Kunde
        1 bereits Kunde
        2 Verbotskunde     (Kunde hat wiederholt Rechn. nicht bezahlt)
In deiner Kundentabelle wird nur der Status als Zahl gespeichert (kein Text).
In der Tabelle wird ein Lookup-Field eingefügt.
So hast du im Grid und im Report die Freiheit zu entscheiden, ob das KStatusfeld als Zahl oder als Text
benutzt werden soll.
Andreas
  Mit Zitat antworten Zitat
mrschmidt

Registriert seit: 21. Mär 2007
3 Beiträge
 
#4

Re: DBGrid nach/bei Abfrage Strings ersetzen?

  Alt 21. Mär 2007, 16:17
Erstmal Danke für die schnelle Antwort.
Ich kann leider keine Tabelle einfügen. Habe nur Lesezugriff auf die DB.

Mr.Schmidt
  Mit Zitat antworten Zitat
mrschmidt

Registriert seit: 21. Mär 2007
3 Beiträge
 
#5

Re: DBGrid nach/bei Abfrage Strings ersetzen?

  Alt 22. Mär 2007, 08:35
"if" geht leider nicht aber das geht:

"(CASE WHEN Kunde = 0 THEN 'Neu' ELSE 'Alt' END)"

Danke uwewo!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: DBGrid nach/bei Abfrage Strings ersetzen?

  Alt 22. Mär 2007, 08:38
Zitat:
"if" geht leider nicht
Es heißt auch IIF.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 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