![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: TTable
Suchfunktion in Paradoxtabelle ?
hallo,
wenn ich so suche muß ich den ganz richtigen namen eingeben in das suchfeld sonst findet er mir nichts !
Delphi-Quellcode:
wie geht das,das ich zb. nur 2 anfangsbuchstaben eingeben muß damit er mir den namen findet ?
procedure TForm1.Button5Click(Sender: TObject);
var suche: string; begin suche:= edit1.Text; Table1.Locate('Nachname', suche, [loCaseInsensitive]); Showmessage('Folgende Nachname wurde gefunden'); end; mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
loPartialKey zu LocateOptions hinzufügen
|
Re: Suchfunktion in Paradoxtabelle ?
super,danke
und wie funktioniert das, wenn man in mehreren tabellenfelder suchen möchte zb. ich habe 3 felder (nachname, vorname und strasse ) jetzt weiß ich zb. nur die strasse ? mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
Delphi-Quellcode:
Table.Locate('<Feldname1>;<Feldname2>;<Feldname3>', VarArrayOf([ Wert1, Wert2, Wert3]), [loCaseInsensitive,loPartialKey]);
|
Re: Suchfunktion in Paradoxtabelle ?
hallo
Delphi-Quellcode:
und wo bringe ich meine variable "suche" unter in deiner codezeile ?
[Fehler] Unit1.pas(134): Undefinierter Bezeichner: 'Wert1'
mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
Wert1, Wert2, wert3 stand hier für gesuchter wert von DatenbankFeld1 usw.
z.B. wenn die Felder 'Name;Vorname;Strasse' ist ist Wert1 für z.B. 'Maier', Wert2 z.B. 'Peter' ... |
Re: Suchfunktion in Paradoxtabelle ?
[/delphi]procedure TForm1.Button5Click(Sender: TObject);
var suche: string; begin suche:= edit1.Text; Table1.Locate('<Nachname>;<Vorname>;<Strasse>', VarArrayOf([ Gruber, Gerhard, Allestrasse]), [loCaseInsensitive,loPartialKey]); end;
Delphi-Quellcode:
[Fehler] Unit1.pas(134): Undefinierter Bezeichner: 'Gruber'[delphi]ich krieg das nicht auf eine reihe ? mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
So müßte es funktionieren:
Delphi-Quellcode:
Table1.Locate('Nachname;Vorname;Strasse', VarArrayOf([ 'Gruber', 'Gerhard', 'Allestrasse']), [loCaseInsensitive,loPartialKey]);
|
Re: Suchfunktion in Paradoxtabelle ?
aber was ist mit meiner variable " suche " meine sucheingabe ist über ein editfeld ??
mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
Ich gehe mal davon aus das Edi1-< Nachname, Edit2 -> Vorname, Edit3 -> Strasse ist.
Delphi-Quellcode:
Table1.Locate('Nachname;Vorname;Strasse', VarArrayOf([ Edit1.Text, Edit2.Text, Edit3.Text]), [loCaseInsensitive,loPartialKey]);
|
Re: Suchfunktion in Paradoxtabelle ?
ich glaub wir haben uns falsch verstanden,
in SQL würde das so ausschauen was ich meine
Delphi-Quellcode:
mfg vader
SELECT *
FROM Tabelle WHERE Feld1 like '%X%' AND Feld2 like '%X%' AND FeldN like '%X%' |
Re: Suchfunktion in Paradoxtabelle ?
Der Unterschied zwischen dem locate und deiner SQL-Anweisung ist, das der Locate, die Ergebnismenge der Tabelle nichtr einschränkt und Nur den Datensatzzeiger auf den 1. gefundenen Wert setzt, ansatt nur noch die passenden werte anzeigt.
Willst du zweiteres mit einer Table erreichen mußt du einen Filter setztn. |
Re: Suchfunktion in Paradoxtabelle ?
das was ich mit sql darstellte ist auch nicht genau was ich meine, da wird alles angezeigt mit "X",
ich möchte nach einen wort in meiner ganzen tabelle suchen, und nicht nach einen wort in einen feld der tabelle ! die suche soll alle 3 felder in meiner tabelle nach den eingegebenen suchbegriff absuchen !! mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
Zitat:
ich möchte nach einen wort in meiner ganzen tabelle suchen, und nicht nach einen wort in einen feld der tabelle ! die suche soll alle 3 felder in meiner tabelle nach den eingegebenen suchbegriff absuchen !! mfg vader[/quote]
SQL-Code:
SELECT
* FROM Tabelle WHERE Feld1 like :such OR Feld2 like :such OR FeldN like :such
Delphi-Quellcode:
t
Query.ParamByName('such').asString := '%*+Edit1.Text+'%';
|
Re: Suchfunktion in Paradoxtabelle ?
nein, ich hab aber TTablezugriff und nicht TQueryzugriff in meinen project,
siehe beitrag #1 mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
Zitat:
oder man setzt die FilterOptions foCaseInsensitive auf true. Setzt den Filter auf 'Name = '''%'+Edit1.Text+'%''' or Vorname = ... '; Und dann Filtered auf True |
Re: Suchfunktion in Paradoxtabelle ?
du schreibst:
Zitat:
mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
Auf die Table, ich würde aber die Variante mit dem Query wählen!
|
Re: Suchfunktion in Paradoxtabelle ?
hallo
du schreibst: Zitat:
2.Setzt den Filter auf 'Name = '''%'+Edit1.Text+'%''' , wo muß ich das setzten bzw. reinschreiben, im objektinspektor - eigenschaft "Filter" ? mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
Zitat:
Delphi-Quellcode:
Table1.Filter := 'Name = '+QuotedStr( (Sender as TEdit).Text)+' or Vorname='+QuotedStr( (Sender as TEdit).Text)+' or Strasse = '+QuotedStr( (Sender as TEdit).Text);
Table1.Filtered := True; |
Re: Suchfunktion in Paradoxtabelle ?
es schaut jetzt so aus:
Delphi-Quellcode:
wenn ich jetzt in das suchedit was eingebe, sind alle daten in meinem DBGrid verschwunden ?
procedure TForm1.Edit1Change(Sender: TObject);
begin Table1.Filter := 'Nachname = '+QuotedStr( (Sender as TEdit).Text)+' or Vorname='+QuotedStr( (Sender as TEdit).Text)+' or Strasse = '+QuotedStr( (Sender as TEdit).Text); Table1.Filtered := True; end; mfg vader |
Re: Suchfunktion in Paradoxtabelle ?
Huch, ich habe ja total die % vergessen. Ersetzte
Delphi-Quellcode:
durch
QuotedStr( (Sender as TEdit).Text)
Delphi-Quellcode:
QuotedStr( '%'+(Sender as TEdit).Text+'%')
|
Re: Suchfunktion in Paradoxtabelle ?
wieder das gleiche , es sind die daten weg !!!!!
Delphi-Quellcode:
mfg vader
procedure TForm1.Edit1Change(Sender: TObject);
begin Table1.Filter := 'Nachname = '+QuotedStr( '%'+(Sender as TEdit).Text+'%')+' or Vorname='+QuotedStr( '%'+(Sender as TEdit).Text+'%')+' or Strasse = '+QuotedStr( '%'+(Sender as TEdit).Text+'%'); Table1.Filtered := True; end; |
Re: Suchfunktion in Paradoxtabelle ?
Ich habe grad noch mal in der Delphihilfe nachgesehen, bei, Filter der TTable ist * Joker.
|
Re: Suchfunktion in Paradoxtabelle ?
Delphi-Quellcode:
wieder dsa gleiche, daten sind weg !
( '*'+(Sender as TEdit).Text+'*')
mfg vader |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz