Thema: Delphi Problem mit Locate

Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Problem mit Locate

  Alt 12. Jul 2006, 11:40
Datenbank: MySQL • Version: 5 • Zugriff über: ZEOS TZQuery
Hallo,

ich habe folgendes Problem:

Ich habe eine Tabelle mit 14 Feldern für "Verwendungszweck" und eine mit zwei Feldern "Buchungstext"

jetzt möchte ich schaun ob in einem der Verwendungszwecke einer der Buchungstexte drin steht, das sieht im Code so aus:

Delphi-Quellcode:

        b1 := Trim(LOff.FieldByName(cfBuchungstext1).AsString);
        b2 := Trim(LOff.FieldByName(cfBuchungstext2).AsString);
        if ((Length(Trim(LOff.FieldByName(cfBuchungstext1).AsString)) > 0)and
           ((LZahl.Locate(Format('%s;%s;%s;%s;%s;%s;%s;%s;%s;%s;%s;%s;%s;%s',
                                 [cfVWZ_1,cfVWZ_2,cfVWZ_3,cfVWZ_4,
                                  cfVWZ_5,cfVWZ_6,cfVWZ_7,cfVWZ_8,
                                  cfVWZ_9,cfVWZ_10,cfVWZ_11,cfVWZ_12,
                                  cfVWZ_13,cfVWZ_14]),
                                  VarArrayOf([
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1,
                                  b1]),[loCaseInsensitive,loPartialKey]))))or

           ((Length(Trim(LOff.FieldByName(cfBuchungstext2).AsString)) > 0)and
           ((LZahl.Locate(Format('%s;%s;%s;%s;%s;%s;%s;%s;%s;%s;%s;%s;%s;%s',
                                 [cfVWZ_1,cfVWZ_2,cfVWZ_3,cfVWZ_4,
                                  cfVWZ_5,cfVWZ_6,cfVWZ_7,cfVWZ_8,
                                  cfVWZ_9,cfVWZ_10,cfVWZ_11,cfVWZ_12,
                                  cfVWZ_13,cfVWZ_14]),
                                  VarArrayOf([
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2,
                                  b2]),[loCaseInsensitive,loPartialKey])))) then
das Problem ist, das der Buchungstext z.B. "XX00YY" ist und im Verwendungszweck sowas wie "Zweck: XX00YY" steht und das Locate das scheinbar nicht finden kann.

Geht das nicht das ich über Locate auch Teilstrings finde?
Wie sollte ich das am Besten lösen?

Danke schonmal

Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat