AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ein Suchbegriff in mehreren Feldern finden

Ein Suchbegriff in mehreren Feldern finden

Ein Thema von Tyler · begonnen am 13. Okt 2003 · letzter Beitrag vom 14. Okt 2003
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Ein Suchbegriff in mehreren Feldern finden

  Alt 13. Okt 2003, 20:07
Hallo Memo,

Zitat von Memo:
...Oder nur eine. Was hast du sonst erwartet? Er wollte es doch genauso haben, oder hab ich was überlesen? Ebend "or".
Zitat:
...IMHO, locate in dem Fall auch reicht!?
Und, korrigier mich rühig, aber ich lese nichts über mehrere Datensätze die zurückgegeben werden sollen. Also wozu braucht er jetzt den Filter(bezogen auf die Fragestellung)?
es ist jetzt wohl schon zu spät, um darüber zu diskutieren ob und was
ich erwartet und nicht gelesen habe, aber Du hast nun ja eine für Tyler
befriedigende Lösung gefunden, obwohl auch Du (so wie ich) zuerst
in die falsche Richtung tendiert bist.

Zum Code würde ich noch Folgendes hinzufügen:

Delphi-Quellcode:
VAR
   x, y : Integer;
BEGIN
   X := 0; // auf 0 Setzten da die Variablen sonst undefiniert
   Y := 0; // sind und 'nix gefunden' nicht angestoßen wird.
p.s.: Wobei wir wieder bei den Datenmengen sind:
Zitat von Tyler:
allgemeinen Suchfunktion (Strg+F)
springt nacheinander zu jedem gefundenen Satz, obige Funktion nur zum Ersten gefundenen...
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#12

Re: Ein Suchbegriff in mehreren Feldern finden

  Alt 14. Okt 2003, 07:20
Danke nochmal für die Hinweise

Was ich noch hinzufügen möchte:

Die Funktion funktioniert warscheinlich einwandfrei (bin noch nicht zum Testen gekommen), aber leider bietet sie nicht die Geschwindigkeit mit der der normale Locate-Befehl zum Datensatz springt...

als Beispiel:
Hab hier ne DB mit 5000 Datensätzen, suche ich nach einem Datensatz der weiter hinten vorkommt mit Locate, springt Delphi innerhalb einer Sekunde auf diesen Datensatz, suche ich aber mit z.B. der o.g. Funktion, kann das ganz 5-10 Sekunden dauern... das ist tragisch.

Naja, warscheinlich muss ich mir dazu ne Fremdkomponente raussuchen

vielen Dank nochmal
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Ein Suchbegriff in mehreren Feldern finden

  Alt 14. Okt 2003, 10:30
Zitat von Tyler:
Die Funktion funktioniert warscheinlich einwandfrei (bin noch nicht zum Testen gekommen), aber leider bietet sie nicht die Geschwindigkeit mit der der normale Locate-Befehl zum Datensatz springt...
Ähm, du bist noch nicht zum testen gekommen, weist aber das sie nicht nicht die selbe Geschwindigkeit hat? Ich nahm eigentlich nicht an, dass der Code die unnormale Variante des Locate-Befehls verwendet.

Zitat von Tyler:
Hab hier ne DB mit 5000 Datensätzen, suche ich nach einem Datensatz der weiter hinten vorkommt mit Locate, springt Delphi innerhalb einer Sekunde auf diesen Datensatz, suche ich aber mit z.B. der o.g. Funktion, kann das ganz 5-10 Sekunden dauern... das ist tragisch.
Das kann an vielen Faktoren liegen. Ich hab es gerade mit einer Table mit exakt 6725 Datensätzen getestet und konnte kein Geschwindigkeitsproblem feststellen.
Hast du viele Datenintensive Steuerelemete an der Table zu hängen, so werden die bei jedem Durchlauf aktuallisiert. Das könnte man durch Table.DisableControls verhindern.
Oder evt. liegt es an deiner Tabelle. Nichts für ungut, aber DBASEIII(Ashton Tate lässt grüssen) mit Delphi ist irgendwie wie ein Ferrari mit Holzrädern. Ich hab hier noch irgendwo ein kleines Konvert.-Tool rumliegen falls Interesse besteht, melde dich einfach.


Zitat von Tyler:
Naja, warscheinlich muss ich mir dazu ne Fremdkomponente raussuchen
Eine Fremdkomonente? Die was können soll?

@App
Zitat von APP:
es ist jetzt wohl schon zu spät, um darüber zu diskutieren ob und was
ich erwartet und nicht gelesen habe, aber Du hast nun ja eine für Tyler
befriedigende Lösung gefunden, obwohl auch Du (so wie ich) zuerst
in die falsche Richtung tendiert bist.
Das lag, so wie meistens, daran, dass die entscheidende Information erst hinterher kam. Aber wie du siehst ist auch mein Lösungsansatz nicht zufriedenstellend. Also ist es wohl noch nicht zu spät.
Zitat von APP:
p.s.: Wobei wir wieder bei den Datenmengen sind:
Na lass mal einen konkreten Lösungsansatz gucken.
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Ein Suchbegriff in mehreren Feldern finden

  Alt 14. Okt 2003, 12:34
Hallo Memo
hier bittschön:

Das liefert die Datensatzmenge nach einem ODER zurück
Delphi-Quellcode:
PROCEDURE TForm1.Button1Click(Sender: TObject);
BEGIN
  // Noch immer DBDemos!
  Table1.Filtered := False;
  BEGIN
    Table1.Filter := 'NAME = ' + QuotedStr('House Cat') + 'OR AREA = ' + QuotedStr('Fish Bowls');
  END;
  Table1.Filtered := True;
  // 1. Datensatz
  Table1.First;
END;
Das ist die CTRL+F Funktion
Delphi-Quellcode:
PROCEDURE TForm1.Button3Click(Sender: TObject);
BEGIN
  // Ctrl+F
  Table1.Next;
  // am Ende zurück zum Start
  IF (Table1.Eof = True) THEN
    Table1.First;
END;
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#15

Re: Ein Suchbegriff in mehreren Feldern finden

  Alt 14. Okt 2003, 16:34
@memo:

du hattest recht, hätte nicht gedacht das ein grid und vllt. 10 db-edit´s soviel ausmachen: nach

Table.DisableControls

gings dann auch sehr flott zur Sache

@app

Danke, als Filter wirklich ausgereift und brauchbar, werd ich garantiert drauf zurückgreifen, aber ich wollt die Datenmenge ja beibehalten


Danke euch beiden für eure Mühen, hat mir auf jedenfall viel weitergeholfen

mfG
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz