Entwickler-Ecke
Datenbanken - BDE, TTable.Locate findet Datensatz nicht
jjturbo - Do 26.04.12 15:16
Titel: BDE, TTable.Locate findet Datensatz nicht
Moin Forum,
ich habe hier ein altes Projekt, in einem TTable wird ein Filter gesetzt und anschliessend per Locate ein Datensatz gesucht. Locate findet ihn nicht, obwohl er vorhanden ist. Zumindest sieht es für mich so aus.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| FilterStr := '(PROFILTYP='+QuotedStr(PFT)+') and (FARBE='+QuotedStr(Farbe)+')'+ ' and (PARTNER= '+QuotedStr('00000000')+')';
HauptForm.KopfdatenTable.Filtered:=false; HauptForm.KopfdatenTable.Filter:=FilterStr; HauptForm.KopfdatenTable.Filtered:=True; HauptForm.KopfdatenTable.Refresh;
while HauptForm.KopfdatenTable.Locate('Stab;Fertig',VarArrayOf([0, '']), [loCaseInsensitive]) do begin ... end; |
Es scheint irgendwie an diesem Filter zu hängen, dieselbe Funktion wird auch mit diesem Filter aufgerufen:
Delphi-Quelltext
1: 2:
| FilterStr := '(PROFILTYP = '+QuotedStr(PFT)+' and FARBE = '+QuotedStr(Farbe)+ ' and BAHN_NR = 2)'; |
Damit gehts. Es handelt sich hier um ein älteres Projekt, Tabelle ist dBase. Das Feld Partner ist ein C,8 Zeichen lang. Also sollte eigentlich alles ok sein.
Jemand eine Idee?
Danke im voraus, Gruß Oliver
Tranx - Fr 27.04.12 12:28
Hast Du denn wirklich einen Datensatz mit dem Eintrag '00000000' in Partner? Die anderen Filtereinträge sind mit Parametern belegt, nur Partner ist ein Festwert. Locate würde ja nur den Datansatz/die Datensätze ausgeben, welche in allen drei Filterkriterien stimmen (wegen der AND-Verknüpfung).
jjturbo - Fr 27.04.12 13:55
Ja, den Eintrag "00000000" gibt es(mehrmals).
Aber das Problem ist wohl das Feld "Fertig": Wenn ich Das mit "n" befülle und mit Locate nach
Locate('Stab;Fertig', VarArrayOf([0, 'n'])
suche, dann geht es auch.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!