Einzelnen Beitrag anzeigen

barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Fehler mit der Funktion "Lookup"

  Alt 20. Nov 2003, 11:21
Hallo Alle,

ich habe wieder einmal ein Problem mit der Funktion "Lookup". Ich möchte ermittelt, ob ein Wert schon in der Tabelle Unterpartie vorhanden ist.

Die QueryUnterpartie_ID setzt das folgende Statement ab:
SQL-Code:
Select *
from Unterpartie
In der Funktion "UPartienummerExistiert" habe ich mal eine Whileschleife eingebaut, die mir alle vorhandenen Werte in "Ergebnis" anzeigt.

Im Moment sind zwei Werte in der Tabelle vorhanden:
1,
2

Diese werden auch korrekt in "Ergebnis" angezeigt.

Delphi-Quellcode:
function TDMUnterpartie.UPartieNummerExistiert(nummer: String): boolean;
var V: Variant;
    Ergebnis: String;
begin
  QueryUnterpartie_ID.Open;
  while not QueryUnterpartie_ID.Eof do
  begin
    Ergebnis:= Ergebnis + char(13)+ QueryUnterpartie_ID.
               FieldByName('Unterpartie_ID').AsString;
    QueryUnterpartie_ID.Next;
  end;
  showmessage(Ergebnis);
                                  //Spalte //Wert //Rückgabewert
  V := QueryUnterpartie_ID.Lookup('Unterpartie_ID', nummer, 'Unterpartie_ID');
  result:= not(VarType(V) in [varNull]);
  QueryUnterpartie_ID.Close;
end;
Das Problem: Die Funktion liefert für den Wert "1" false zurück, obwohl der Wert bereits in der Tabelle vorhanden ist.

Was mache ich falsch?

Gruß,

Barnti
  Mit Zitat antworten Zitat