Einzelnen Beitrag anzeigen

Benutzerbild von Surrounder
Surrounder

Registriert seit: 26. Sep 2003
Ort: Stuttgart
177 Beiträge
 
Delphi 2006 Professional
 
#1

Filtern in einer Datenbank

  Alt 8. Feb 2006, 15:19
Datenbank: FlashFiler • Version: 2.13 • Zugriff über: Datasource / Query
Hallo Forum,

ich denke ich hab da ein Anfängerproblem, hab schon viel gelesen weiss aber nicht recht nach was ich suchen soll um eine Lösung zu finden, vielleicht gibt es ja auch keine...

Ich habe zwei Tabellen, eine mit Welleninformationen und eine mit den zugehörigen Lagerstellen zu den Wellen. Bei den Welleninformationen stehen so Dinge wie Datum und Uhrzeit usw. der Primärschlüssel ist ein AutoInc Wert den ich in eine Spalte der Lagerstellen schreibe damit ich die Beziehung herstellen kann.

So weit klappt das auch, wenn ich ein Grid habe in dem ich die Welleninformationen anzeige dann kann ich ein zweites Grid setzen indem ich dann automatisch die zugehörigen Lagerstellen der selektierten Welle angezeigt bekomme. So weit so gut.

Jetzt würde ich gerne Filtern. Was ich dabei tun möchte ist z.B. mit alle Wellen von einem bestimmten Datum an zu zeigen, oder die eben ein bestimmtes anderes Kriterium erfüllen das ich bei den Welleninformationen gespeichert habe. Nur wie bekomme ich jetzt die zugehörigen Lagerstellen heraus?

Ich hatte das bisher so gelöst, ich habe mir eine MemTabel erzeugt und der die gleichen Spalten wie der Wellentabelle gegeben. Dann habe ich Programmtechnisch alle Einträge im Grid mit den Welleninformationen durchsteppt und jeweils die Lager dann in diese MemTabel kopiert. Ziel ist es eben alle Lagerstellen dann zu haben, und dort dann wieder Filtern zu können, z.B. nach Lagerstelle 2 oder nach dem Durchmesser etc. Das funktioniert auch, ist aber langsam, sehr langsam.

Deshalb dachte ich, ich versuche das mal mit SQL, und hab mir eine Query gesetzt, was auch wesentlich schneller ist wenn ich viele Datensätzte habe ( zumindest ohne Filterung ), nur weiss ich nicht wie ich das machen soll wenn ich jetzt den Filter will

Also z.B. Ich möchte alle Wellen haben die vom 07.02.2006 sind, dann setze ich in der Tabelle mit den Welleninformationen den Filter auf das Datum, nur wie bekomme ich jetzt die zugehörigen Lagerstellen? Ich müsste ja jetzt hergehen und von allen Welleninformationen den AutoIndex Wert ermitteln, und nach allen die ich ermittelt habe wieder die Lagerstellen durchsuchen!?

Kann mir jemand auf die Sprünge helfen, mach ich da einen Denkfehler oder geht das wirklich nicht oder nichtt anderst?

Wie gesagt bin eigentlich DB Anfänger, also seid gnädig, bin dankbar über jeden Tip.
In C geschrieben und schön war zuletzt Franz Schuberts 9. Symphonie
  Mit Zitat antworten Zitat