Script für Urlaubstage

B

bmaas2k2

Mitglied
Thread Starter
Dabei seit
29.04.2003
Beiträge
84
Reaktionspunkte
0
Hallo,

habe eine Tabelle "Urlaub" mit den Feldern

Mitarbeiter_ID, Mitarbeiter_Name, Datumvon, Datumbis,


Jetzt möchte ich einen Button einfügen "Urlaub eintragen", und dann sollen die Urlaubsdaten in eine neue Tabelle eingetragen werden.

Nennen wir die Tabelle "Urlaub 2".

Wenn ich jetzt in der Tabelle "Urlaub" einen Urlaub für Mitarbeiter xyz eintrage, vom 01.03.2006 bis zum 05.03.2006, soll mir der Button Urlaub eintragen folgende Werte in
die "Urlaub 2" Tabelle eintragen:
Mitarbeiter_ID Mitarbeiter_Name Tag
ma-0001 xyz 01.03.2006
ma-0001 xyz 02.03.2006
bis
ma-0001 xyz 05.03.2006

also das er mir die Urlaubstage von - bis als einzelne Datensätze in eine Tabelle ausgibt.

Wie kann ich das machen?

Benutze Filemaker 8 Pro
 
Erst mal ins Unreine:

In der Tabelle Urlaub ein Formelfeld anlegen, das die Zahl der Urlaubstage ausrechnet (Feiertage lassen wir mal eben außen vor),
Diese Zahl nehmen und damit in Tabelle Urlaub 2 genau so viele neue Datensätze anlegen lassen,
In Tabelle Urlaub 2 das jeweilige Datum des Urlaubstages in jedem Datensatz eintragen lassen. Mit der Ersetzen + Seriennummerfunktion geht das vermutlich nur mit einem weiteren Hilfsfeld. Vielleicht füllt man die Felder besser mit einer Scriptschleife.

Wie gesagt: Ins Unreine.
 
Hallo,

der Hinweis auf die Scriptschleife bringt Dich weiter...

In Tabelle 1 läuft eine Schleife, die solange neue Datensätze in Tabelle 2 erzeugt, wie die Schleifenabbruchbedingung (Enddatum des Urlaubs) noch nicht erreicht ist.
Bei jedem Durchlaufen der Schleife wird ein interner Zähler um 1 hochgesetzt. Aus dem Anfangsdatum plus dem aktuellen Zählerstand wird dann das Datum errechnet, das in Tabelle 2 eingetragen wird (und auch zum Prüfen der Schleifenabbruchbedingung genutzt wird).

Hört sich komplizierter an als es zu programmieren ist...

MfG

ThoRo
 
Hab es mit der Schleife hinbekommen.

Ist halt mein erstes Skript das ich geschrieben habe, und da kannte ich noch nicht die ganzen Befehle, was die bedeuten usw.

Habs jetzt hinbekommen das die Tage von - bis in die neue Tabelle einzeln eingetragen werden.

Jetzt hab ein neues Problem.

Sagen wir mal ich habe in der Tabelle Einsatz ein Datumsfeld, jetzt möchte ich in einem Ausschnitt nur Mitarbeiter anzeigen lassen, die an diesem Einsatztag kein Urlaub haben, und noch ein Ausschnitt, wo alle Mitarbeiter angezeigt werden, die an diesem Einsatzdatum im Urlaub sind.

Wie kann ich das Einstellen?

Ne andere frage, wenn ich mit einer Formel überprüfen möchte, ob der Mitarbeiter an diesem Einsatztag Urlaub hat, habe ich das so gemacht:

wenn ( einsatzdatum ungleich Urlaub::tag ; "buchbar" ; "nicht buchbar" )

das problem ist, er überprüft glaube ich nicht die ganzen datensätze der tabelle urlaub. wie kann ich das machen, das er die ganze tabelle absucht? also jeden eintrag für diesen Mitarbeiter?

Hoffe ihr könnt mir helfen.
 
bmaas2k2 schrieb:
Jetzt hab ein neues Problem.

Sagen wir mal ich habe in der Tabelle Einsatz ein Datumsfeld, jetzt möchte ich in einem Ausschnitt nur Mitarbeiter anzeigen lassen, die an diesem Einsatztag kein Urlaub haben, und noch ein Ausschnitt, wo alle Mitarbeiter angezeigt werden, die an diesem Einsatzdatum im Urlaub sind.

Wie kann ich das Einstellen?

Dafür brauchst Du zwei Ausschnitte, die auf unterschiedlichen Relationen basieren. Die erste Relation prüft, ob Tabelle1::Einsatzdatum = Tabelle2::Urlaubsdatum. Die zweite Relation prüft die Ungleichheit.

bmaas2k2 schrieb:
Ne andere frage, wenn ich mit einer Formel überprüfen möchte, ob der Mitarbeiter an diesem Einsatztag Urlaub hat, habe ich das so gemacht:

wenn ( einsatzdatum ungleich Urlaub::tag ; "buchbar" ; "nicht buchbar" )

das problem ist, er überprüft glaube ich nicht die ganzen datensätze der tabelle urlaub. wie kann ich das machen, das er die ganze tabelle absucht? also jeden eintrag für diesen Mitarbeiter?

Hoffe ihr könnt mir helfen.

Bei einer Formel, die mit relational verbundenen Daten aus einer zweiten Tabelle arbeitet, stellst Du nicht die "Durchsuchbarkeit" ein, sondern legst bereits in der Relation fest, welche Datensätze "gefunden" werden (können). Wenn also nicht alle Datensätze berücksichtigt werden, dann stimmt mit der Relationsdefinition etwas nicht - sie greift vielleicht zu kurz...

MfG

ThoRo
 
Hallo ThoRo,

danke für deine antwort.

Wäre die Formel den so richtig mit wenn einsatzdatum ungleich urlaubsdatum

oder muß die anders sein?

Ich probier das mal mit der Falls Formel wenn ich zu Hause bin.
 
Hallo bmaas2k2 ,

grundsätzlich hört sich die Formel erstmal richtig an

Falls(einsatzdatum <> urlaub::tag; "buchbar"; "nicht buchbar")

Wichtig ist, das die Relation "urlaub" funktioniert und auf alle Datensätze zugreifen kann....

MfG

ThoRo
 
Zurück
Oben Unten