Einzelnen Beitrag anzeigen

Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#1

"Feld xyz wurde nicht gefunden"

  Alt 15. Jul 2010, 08:16
Datenbank: MySql • Version: 5.1 • Zugriff über: ADO/OBDC
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
  Mit Zitat antworten Zitat