Hallo,
ich möchte in meiner Datenbankanwendung gerne Memo-Felder im DBGrid anzeigen lassen. Dafür habe ich bei meiner TAdoQuery-Komponente die entsprechenden Felder hinzugefügt (per Rechtsklick auf die Komponente) und dann das OnGetText-Ereignis wie folgt ausgewertet (ein Ereignis für alle Memo-Felder):
Delphi-Quellcode:
procedure TForm1.OnGetText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
//Dafür sorgen, dass auch die Memo-Felder im DBGrid angezeigt werden
if Sender = AdoQuery1.FieldByName('HierarchischeEinordnung') then
Text := Copy(AdoQuery1.FieldByName('HierarchischeEinordnung').AsString , 1, 50)
else if Sender = AdoQuery1.FieldByName('Verantwortungsbereich') then
Text := Copy(AdoQuery1.FieldByName('Verantwortungsbereich').AsString , 1, 50)
//Es folgen noch weitere Felder
end;
Wenn ich alle diese Felder anzeige, gibt es kein Problem. Sobald ich jedoch eines weglasse, bekomme ich die Meldung á la: "Das Feld Verantwortungsbereich wurde nicht gefunden".
Wie kann ich den Fehler umgehen? Die Memo-Felder anders darstellen? Oder gibt es eine Eigenschaft von AdoQuery, mit der ich nach einem Feld fragen kann? Dass es so aussieht:
if Sender = AdoQuery1.FieldByName('HierarchischeEinordnung') then if AdoQuery1.Fields('HierarchischeEinordnung').Exists then Text := Copy(AdoQuery1.FieldByName('HierarchischeEinordnung').AsString , 1, 50)
mfg