FM: Datensätze innerhalb eines Ausschnittes filtern

msg

Aktives Mitglied
Thread Starter
Dabei seit
31.07.2005
Beiträge
1.975
Reaktionspunkte
32
Hallo!

Ich habe eine Filemaker-Frage für meine Klientendatenbank:

In Tabelle 1 gebe ich protokollarisch Ereignisse betreffend meine Klienten ein. (Bild 1)
In Tabelle 2 werden in einem Ausschnitt pro Klient die ihn betreffenden Ereignisse angezeigt.

Nun möchte in diesen Ausschnitten die Ereignisse nach Datum (also nach Monat) filtern. Dies ist mir in der Gesamt-Protokoll-Tabelle 1 bereits gelungen. (siehe Bild 2)
Aber ich sehe keinen Weg, diese Filterung auch innerhalb des Ausschnittes vorzunehmen.

Weiß wer, wie das gehen könnte?
Danke,
msg
 

Anhänge

  • Bild 1.jpg
    Bild 1.jpg
    31,1 KB · Aufrufe: 144
  • Bild 2.jpg
    Bild 2.jpg
    19,3 KB · Aufrufe: 197
Filtern direkt im Ausschnitt geht nicht?
 
Im Datenfeld innerhalb des Ausschnitts suchen, zb alle Datensätze von A bis F? Dann werden bei Dir auch Datensätze ab G noch angezeigt? Oder wie?
 
Im Datenfeld innerhalb des Ausschnitts suchen, zb alle Datensätze von A bis F? Dann werden bei Dir auch Datensätze ab G noch angezeigt? Oder wie?

Genau:
Bild 1 zeigt die Situation. In den grauen Kästchen gebe ich den zu suchenden Monat ein, hier Mai 2008. Das Kästchen mit dem "v" setzt die Abfrage um (per script).
Trotzdem wird auch der Datensatz vom Dezember 2007 angezeigt.

msg
 
Im Datensatz der Protokoll-DB gibt es ein Formelfeld, das durch eine WENN-DANN-Formel den Wert "1" setzt, wenn der Datensatz mit dem Wert des vorgegebenen Monats/Jahrs übereinstimmt.

Die Zeitvorgabe "Monat" und "Jahr" stammt aus einer (mit einem "x") verknüpften Tabelle.

Sobald man also das Knöpfchen mit dem "v" drückt wird eine "Ergebnismenge suchen"-Aktion ausgelöst, das nur die "1"er-Werte anzeigt.

Das ist soweit das sogenannte script.

msg
 
Schau dir mal deine Protokoll DB in einem 0815 Layout an ob im Datensatz "21.12.2007" auch einen "1" steht.

Warum machst du es mit "x" und "1".

Es geht doch sicherlich auch mit jeweils ein Formelfeld/Berechnetes Feld.

Protokoll DB wird aus dem Datumsfeld der Monat und das Jahr gezogen
aus 21.01.2008 wird 12008 im Formelfeld.

Bei der Zeitvergabe dito.
 
Schau dir mal deine Protokoll DB in einem 0815 Layout an ob im Datensatz "21.12.2007" auch einen "1" steht.

Warum machst du es mit "x" und "1".

Es geht doch sicherlich auch mit jeweils ein Formelfeld/Berechnetes Feld.

Protokoll DB wird aus dem Datumsfeld der Monat und das Jahr gezogen
aus 21.01.2008 wird 12008 im Formelfeld.

Bei der Zeitvergabe dito.

Ich habs bereits gemacht: die Formel geht zuverlässig. Ich machs nicht mit 1 und x, sondern mit 1 und 0.

In der Protokoll-DB geht es ja. Nur im Ausschnitt nicht.
lg,
msg
 
Die "Ergebnismenge suchen"-Aktion läuft auch einwandfrei ??
 
ja, bezogen auf die Protokoll-DB schon. Wieso?

msg
 
Hattest Du versucht, ohne ein Script manuell in dem Ausschnitt zu suchen? Das sollte doch funktionieren.
 
ja, aber es werden trotzdem immer alle Datensätze angezeigt

msg
 
Einmal zur Klärung.

Bild 2.jpg ist ein Layout auf Basis der Protokoll-Tabelle.
Hier werden alle Datensätze der Protokoll - Tabelle gezeigt bzw. nur die der Ergebnissmenge.

Bild1.jpg ist ein Layout auf Basis der Zeitvorgabe wobei die Datensätze der Protokoll-Tabelle im Ausschnitt angezeigt werden.
Die Zeitvorgabe stammt aus einer (mit einem x) verknüpfte Tabelle.

Schau dir mal deine Beziehungen an, das was dir an Datensätze geliefert wird sind Beziehungsdatensätze, du kannst nicht in die Protokoll-Tabelle gehen und Filtern dann in ein anderes Layout springen was mit mit einer Beziehung arbeitet und hoffen nur den Ausschluss der Protokoll - Tabelle zu sehen.
 
Schau dir mal deine Beziehungen an, das was dir an Datensätze geliefert wird sind Beziehungsdatensätze, du kannst nicht in die Protokoll-Tabelle gehen und Filtern dann in ein anderes Layout springen was mit mit einer Beziehung arbeitet und hoffen nur den Ausschluss der Protokoll - Tabelle zu sehen.

stimmt, anbei habe ich einen screenshot der Beziehungen gemacht.
Der Aussschnittdatensatz wird im Formular "Klientendaten" angezeigt - und wahrscheinlich deswegen kann da keine Filterung vorgenommen werden. Aber was kann ich da tun, damit es doch geht?

lg,
msg
 

Anhänge

  • Bild 1.jpg
    Bild 1.jpg
    40,1 KB · Aufrufe: 97
Hallo,

ich hab das in einer Schulung mal gemacht - allerdings haben wir einen filter eingebaut, mit dem der benutzer sich einen zeitraum anzeigen lassen konnte - im beispiel alle klavier von 01.01.2005 bis 31.02.2005

schau mal, ob das was ist, ich hab die voherigen beiträge nicht ganz durchgelesen, deshalb sorry, falls es daneben ist (ist halt noch früh)

grüße
yvonne
 

Anhänge

  • Bild 2.png
    Bild 2.png
    42 KB · Aufrufe: 129
  • Bild 3.png
    Bild 3.png
    52,7 KB · Aufrufe: 113
danke Vönnchen, ich glaub ich kann deine DB einigermassen nachvollziehen - nur die Umsetzung in meiner schlägt fehl.

Anbei habe ich Bild meiner Beziehungen.

Da ist Links die Klienten-DB. Recht oben die DB der Protokolleinträge, wobei links und rechts die identen Klientennamen miteinander verknüpft sind.
Recht unten ist dann die DB mit dem eingegeben Zeitraum, der als Vorlage für die Filterung dienen soll.

Der Ausschnitt befindet sich zusammen "im" Layout der Klienten-DB. ich dachte, dass ich so die Bezioeungen richtig gesetzt habe, um meinen gewünschten Effekt hinzukriegen, aber weit gefehlt!

msg
 

Anhänge

  • Bild 1.jpg
    Bild 1.jpg
    42,2 KB · Aufrufe: 106
Ich glaube du brauchst die Tabelle Zeitraum nicht, das macht es unnötig kompliziert scheint mir.

Bei mir sind die datumsfelder für die selektion direkt beim verkäufer hinterlegt - als globale felder. über sie wird dann die relation zu den verkaufsinformationen gebildet - es gibt keine dritte tabelle.

verwendest du die tabelle zeitraum noch für etwas anderes? ansonsten versuch doch mal den weg, die beiden tabellen klienten und protokolle direkt zu verbinden - eben über diese globalen filterfelder

dazu zwei felder beim klienten anlegen (datum_von und datum_bis) als globale felder und eine relation machen in der du sagst
Klient = klient UND
Datum_von <= Datum_Protokoll UND
Datum_bis >= Datum_Protokoll

dann einen ausschnitt mit dieser relation, die globalen felder drüber und schau mal, was passiert, wenn du da den filter benutzt - müsste meiner meinung nach funktionieren.
 
danke, es geht!!!!

msg
 
Zurück
Oben Unten