Entwickler-Ecke

Datenbanken - Suchfunktion in einer Datenbank !


Jagg - Di 19.11.02 14:39
Titel: Suchfunktion in einer Datenbank !
Hallo !

Ich möchte eine Suchfunktion in meiner Datenbank einsetzen !

Ich habe hier ein Code :

Quelltext
1:
2:
3:
Query1.Locate ('Artist',InputBox('Suchen im
Feld "Artist"','Eingabeaufforderung',''),
[loCaseInsensitive,loPartialKey]);


Beispiel :
Ich habe in meiner Datenbank die Bustaben "A,B,C",wenn ich in dem Suchfeld ein "B" eingebe,dann springt er zu "B",das ist auch korrekt !
Aber wenn ich in dem Suchfeld "BAB" eingebe springt er zu "A",er soll aber zu "B" springen,weil "B" der Anfangsbuchstabe ist !

Könnt ihr mir helfen ???

Jagg !


LCS - Di 19.11.02 14:55

Hi
kann ich bei mir nicht nachvollziehen. Welche Select-Anweisung steht denn in der Query?

Gruss Lothar


Jagg - Di 19.11.02 15:02


Quelltext
1:
SELECT * FROM Handy.dbf ORDER BY Artist                    


...aber was hat das damit zu tun ?

Jagg !


LCS - Di 19.11.02 15:21

Hi
Hätte sein können, dass sich da zwei Sachen gegenseitig ausschliessen. Scheint aber bei dir nicht der Fall zu sein. Ich habs aber mittlerweile mit allen möglichen Tabellen ausprobiert und bei mir haut das einwandfrei hin.

Zitat:

Aber wenn ich in dem Suchfeld "BAB" eingebe springt er zu "A",er soll aber zu "B" springen,weil "B" der Anfangsbuchstabe ist !

Das hatte ich irgendwie nicht so richtig gelesen :? Wenn du nur die Buchstaben A, B und C in deiner Tabelle hast, dann findet er für BAB keine Entsprechnung und bleibt dann einfach am Anfang der Tabelle stehen. In dem Fall solltest du einfach nur den ersten eingebenen Buchstaben verwenden.

Gruss Lothar


Jagg - Di 19.11.02 15:30

...und wie mache ich das ?
Ich habe nur diese 2 [lo...] Parameter oder gibt es noch mehr....

Jagg !


LCS - Di 19.11.02 15:48

Jagg hat folgendes geschrieben:
...und wie mache ich das ?
Ich habe nur diese 2 [lo...] Parameter oder gibt es noch mehr....

Jagg !

Wofür brauchst du dazu Parameter? :shock: Einfach den ersten Buchstaben der Eingabe verwenden.
Beispiel:

Quelltext
1:
2:
3:
Eingabe := InputBox('Suchen im Feld "Artist"','Eingabeaufforderung','');
if not Query1.Locate ('Artist',Eingabe, [loCaseInsensitive,loPartialKey]) then
  Query1.Locate('Artist',Copy(Eingabe, 1, 1), [loCaseInsensitive,loPartialKey]);


Gruss Lothar


Jagg - Di 19.11.02 16:55

ok danke !