3. Dezember 2010 16:02
Hallo zusammen,
ich habe folgendes Problem.
Bei uns ins Navision kommen Registriernummern von 2 verschiedenen Stellen an. Einmal kann die Nummer mit | und einmal mit - getrennt.
Also muss bei jedem Import geprüft werden, gibt es die Nummer schon.
Wenn ich folgenden Code zum filtern verwende klappt die Suche auch in> 90% aller Fälle.
- Code:
Help := CONVERTSTR(Record.Registriernummer,'|','?');
Help := CONVERTSTR(Help,'-','?');
Record.SETCURRENTKEY(Registriernummer);
Record.SETFILTER(Registriernummer,'%1',Help);
IF NOT Record.FINDFIRST THEN BEGIN
Hier eine Nummer, bei der die Suche klappt und der existierende Datensatz auch gefunden wird.
HAA79|I6IEA|SNEIU|717K7|IH4CN
Bei der folgender Nummer wird der Datensatz nicht gefunden
HABRS|KDK82|Y0WC9|U4R6J|3GFV7
Sobald ich in der Tabelle manuell ein Feldfilter mit der zweiten Nummer setze (| durch ? ersetzt) wird mir der Datensatz auch korrekt angezeigt.
Dieser Datensatz ist in der Tabelle mit | als Trenner enthalten.
Wenn ich ein SETRANGE verwende, wird der Datensatz ebenfalls gefunden.
Ich habe es auch probiert ein @ vor dem Suchbegriff zu stellen. Dann wird der Datensatz gefunden. Aber die Laufzeit geht unwarscheintlich in die Höhe, obwohl ich vorher den passenden Schlüssel ausgewählt habe.
Hat einer von euch eine Idee, woran es liegen könnte? Oder wie man hier Abhilfe schaffen kann?
Vielen Dank im Voraus.
Gruß
Christian
Zuletzt geändert von cdziewas am 3. Dezember 2010 18:23, insgesamt 2-mal geändert.