Autor Beitrag
JohannPeter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Sa 26.04.14 14:53 
Moderiert von user profile iconNarses: Abgetrennt von hier

Hallo,
Darf ich zum TDBGrid eine Frage stellen?

Habe 2 Felder Postleitzal und Ort. Wie kann ich diese beiden Felder im DBGrid in eine Spalte lesen?

Bin neu in Delphi.

Vielen Dank für eure Hilfe. :)
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Sa 26.04.14 18:01 
Das hängt von der DB ab, auf jeden Fall bräuchtest Du wohl eine Query-Komponente, in deren SQL Du die beiden Felder miteinander verknüpfst. Bezüglich der genauen Syntax musst Du mal in die Doku schauen, aber ungefähr so sollte es aussehen:
ausblenden SQL-Anweisung
1:
2:
3:
4:
SELECT 
  PLZ + ' ' + Ort
FROM
  Tabelle
JohannPeter Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Sa 26.04.14 19:20 
Hallo,

Danke für die Hilfe. Ich mußte statt dem "+" ein "&" eingeben. Sonst gab es nur eine Fehlermeldung.
Den Rest muß ich noch in der Doku nachlesen.

Danke für die rasche Antwort.
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 27.04.14 16:47 
Du kannst deinem Dataset (oder Query) aber auch ein berechnetes Feld hinzufügen:

1. Rechtsklick auf Dataset: Feld-Editor auswählen.
2. Rechtsklick in Feld-Editor: Alle Felder hinzufügen.
3. Rechtsklick in Feld-Editor: Neues Feld, Editor erscheint.
4. Ausfüllen: einen Bezeichner eintippen, den Typ (gewöhnlich String) und die Länge, in der RadioGroup Berechnet wählen und OK drücken.
5. Das Neue Feld im Feld-Editor auswählen und im OI auf Ereignisse umschalten.
6. Doppelklick in OnGetText, worauf ein leerer Procedure-Rumpf erstellt wird.
7. Implementieren der Befehle, um den Wert des neuen Feldes zu erzeugen. Beispiel:

Ich habe eine Spalte Volume und eine Spalte DateisystemName, die ich in einer Zelle anzeigen will, getrennt durch ein Leerzeichen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TDatMod.ADOTable1VolSysGetText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
  Text := ADOTable1.FieldByName('VolumeName').AsString + ' ' +
          ADOTable1.FieldByName('DateisystemName').AsString;
  DisplayText := True;
end;
JohannPeter Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 27.04.14 18:16 
Hallo,

Vielen Dank.
Funktioniert Spitze.
Schönen Sontagabend.

LG
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 27.04.14 18:27 
user profile iconWasWeißDennIch hat folgendes geschrieben Zum zitierten Posting springen:

ausblenden SQL-Anweisung
1:
2:
3:
4:
SELECT 
  PLZ + ' ' + Ort
FROM
  Tabelle

Der gesuchte Befehl nennt sich Concat und wird meist durch zwei senkrechte Striche repräsentiert:

ausblenden SQL-Anweisung
1:
PLZ || ' ' || Ort					

Ich hab mir angewöhnt, bei Tabellen, die ich ständig benötige und deren berechnete Felder ich via SQL selektieren kann, ein View (in MSSQL auch Sicht genannt) zu erstellen. Das ist etwas schneller als die Berechnung in der Client-Anwendung, die ich oben gezeigt habe.