| Autor |
Beitrag |
pmw
      
Beiträge: 65
|
Verfasst: Mo 30.12.02 13:56
Hallo!
Ich möchte gerne alle Felder eine Datenbank nach einen bestimmten Schlüsselwort durch suchen. Leider bekomme ich immer com Compiler die Fehlermeldung, dass VarArrayOf ein undefinierter Wert sei. Wenn ich VarArrayOf einfach weglassen und nur "suchen.Text" hin schreibe, dann gibt es einen Laufzeitfehler.
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); var y,x: integer; begin
if Table1.Locate('Sänger;Titel;CD;Track;Bemerkung', VarArrayOf([suchen.Text]), [loCaseInsensitive,loPartialKey]) then ShowMessage('Datensatz gefunden.');
end; |
Viele Grüße
Martin Winandy
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Mo 30.12.02 14:22
Hi,
was für einen Typ Datenbank benutzt Du denn ?
|
|
pmw 
      
Beiträge: 65
|
Verfasst: Mo 30.12.02 15:10
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mo 30.12.02 15:21
Hi!
Du hast höchstwahrscheinlich einfach vergessen, die Unit Variants in der Uses-Klausel zu deklarieren. In ihr ist die Funktion VarArrayOf implementiert.
Cu,
Udontknow
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mo 30.12.02 15:24
Wo ich mir gerade den Code anschaue:
Du musst für jedes Feld ein entsprechendes Element angeben, also:
Quelltext 1:
| VarArrayOf([SaengerText,TitelText,CDText,TrackText,BemerkungText]) |
Cu,
Udontknow
|
|
pmw 
      
Beiträge: 65
|
Verfasst: Mo 30.12.02 16:01
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mo 30.12.02 16:18
Die Unit "Variants" ist in der Uses-Klausel?
Wenn nicht sicher, bitte einmal die ganze Unit posten...
Cu,
Udontknow
|
|
pmw 
      
Beiträge: 65
|
Verfasst: Mo 30.12.02 16:24
| Zitat: | | Die Unit "Variants" ist in der Uses-Klausel? |
Daran lag's!
Locate macht immer nur eine UND-Suche. Ich benötige aber eine ODER-Suche. Was muss ich ändern?
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Mo 30.12.02 16:29
Mit Locate gehts nicht. An deiner Stelle würde ich eine Query nehmen und ein entsprechendes SQL-Statement zusammenbasteln.
Cu,
Udontknow
|
|