Script für Urlaubstage

Diskutiere mit über: Script für Urlaubstage im Datenbanken und Archiv Software Forum

  1. bmaas2k2

    bmaas2k2 Thread Starter MacUser Mitglied

    Beiträge:
    84
    Zustimmungen:
    0
    Registriert seit:
    29.04.2003
    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
     
  2. joachim14

    joachim14 MacUser Mitglied

    Beiträge:
    7.295
    Zustimmungen:
    433
    Registriert seit:
    08.02.2005
    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.
     
  3. ThoRo

    ThoRo MacUser Mitglied

    Beiträge:
    846
    Zustimmungen:
    58
    Registriert seit:
    22.08.2005
    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
     
  4. bmaas2k2

    bmaas2k2 Thread Starter MacUser Mitglied

    Beiträge:
    84
    Zustimmungen:
    0
    Registriert seit:
    29.04.2003
    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.
     
  5. ThoRo

    ThoRo MacUser Mitglied

    Beiträge:
    846
    Zustimmungen:
    58
    Registriert seit:
    22.08.2005
    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.

    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
     
  6. bmaas2k2

    bmaas2k2 Thread Starter MacUser Mitglied

    Beiträge:
    84
    Zustimmungen:
    0
    Registriert seit:
    29.04.2003
    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.
     
  7. ThoRo

    ThoRo MacUser Mitglied

    Beiträge:
    846
    Zustimmungen:
    58
    Registriert seit:
    22.08.2005
    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
     
Die Seite wird geladen...
Ähnliche Themen - Script Urlaubstage Forum Datum
Nächste Nummer erzeugen (per Script) Datenbanken und Archiv Software 22.02.2014
filemaker feldbeschriftung ändern per formel oder script Datenbanken und Archiv Software 09.02.2013
Neue Funktion von FM Go: mittels Script Datenbanken importieren Datenbanken und Archiv Software 22.09.2010
Import/Export als Script in FMP-Runtimes Datenbanken und Archiv Software 05.09.2008
Script abbrechen/anhalten Datenbanken und Archiv Software 16.03.2007

Diese Seite empfehlen

Benutzerdefinierte Suche