Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

Ich habe ein DBGrid das ich mit einem Query verbunden habe, wenn ich nun das Query ausführe und danch mit Locate einen entsprchenden Datensatz auswählen möchte, gibt mir der Borland 5 Compiler einen Fehler aus:

"[C++ Fehler] formular2.cpp(1017): E2188 Ausdruckssyntax"

Locate benutze ich Volgendermaßen:

fm_bestell->qu_kostenstelle->Locate("Kostenstelle","9010",[loPartialKey]);

Der Eintrag "9010" sollte Variant sein da ich damit ncoh nie gearbeitet habe weiss ich nun nciht ob der Fehler vieleicht daran liegen könnte.

mfg derSkavampir

Geschrieben

Das Problem dürfte sein, dass links neben einer öffnenden eckigen Klammer immer ein Bezeichner stehen muss. Für sich allein genommen, ist [loPartialKey] ein Syntaxfehler. Welchen Typ braucht Locate denn als dritten Parameter?

Geschrieben

Der dritte Parameter braucht den Typ TLocateOptions.

Inzwischen habe ich einfahc mal versucht anstatt die Options direkt zu übergeben Sie ma vorher in eine Variable mit demselbigen Typen zu schreiben, und es hat geklappt. Locate benutze ich nun auf folgende weise:

TLocateOptions Opts;

        Opts.Clear();

        Opts<<loPartialKey;

   fm_bestell->qu_kostenstelle->Locate("Kostenstelle",dbed_kostenstelle->Text,Opts);

Was ich nicht so ganz verstehe warum er die Optionen nciht anerkennt wenn ich diese in eine Eckigen Klammer direkt übergebe ?!?

Geschrieben
Was ich nicht so ganz verstehe warum er die Optionen nciht anerkennt wenn ich diese in eine Eckigen Klammer direkt übergebe ?!?
Weil es kein gültiges C++ mehr ist, wenn du einfach eckige Klammern um einen Bezeichner machst. In Delphi mag das funktionieren oder sogar notwendig sein, aber in C++ ist das ein Syntaxfehler.
Geschrieben

Interessanter Vorgang, denn die Optionen habe ich mir in der Borland hilfe herausgesucht und so übernommen wie sie dort standen, bzw. mir die herausgesucht die ich brauchte. Komisch, dass in der Borland hilfe Quelltexte drinne stehen die nur für Delphi gültig sind.

Ich danke dir für deine Hilfe wenn du mich nicht nach dem Typen gefrag hättest wäre ich gar nciht auf die Idee gekommen das mal anders auszuprobieren.

mfg derSkavampir

Geschrieben

Inzwischen bekomme ich das mit der Lacate schon ziemlich gut hin und habe diese an mehreren Stellen in das Projekt mit eingebaut.

Allerdings habe ich nun das nächste Problem. Die Option loPartialKey erlaubt es einem einen Teilstring in der Datenmenge zu suchen. Allerdings wird dieser Teilstring nur am ANFANG der Dtenmenge gesucht, Bsp.:

Suchstring: "hallo"

gefundenes Element: "Hallo Welt"

Wenn ich nun allerdings "Welt" als Suchstring eingebe findet Locate nicht das Element "Hallo Welt".

Stoße ich an dieser Stelle schon an die grenzen von Loacat oder gibt es außer loPartialKey und loCaseInsensitive noch mehr Optionen die allerdings nciht in der Borland Hilfe (5.0) beschrieben sind ?!?

Geschrieben

Nein das Funktioniert leider nciht, davon habe ich schon an verschiedenen Stellen gelesen dass ich damit nicht weiterkomme.

Ich weiss nun nicht ob ich lieber statt Locate FindKey benutze oder ob ich dort wieder auf das selbe Problem stoße ?!?

Geschrieben

Dankle für deine Bemühungen, allerdings habe ich durch Wälzen der Borland hilfe dieses Problem inzwischen alleine gelöst. Ich habe die Funktion LocateEx gefunden in der ich mit lxPartialCompare den Datensatz mit dem String Komplett durchsuche und nicht nur von der ersten Stelle an.

mfg derSkavampir

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...