Filemaker

Filemaker

Posts 1-4 of 4
  • Ralf Lauber
    Ralf Lauber    Premium Member
    The company name is only visible to registered members.
    Feldinhalt berechnen
    Hallo zusammen,

    ich stehe gerade mal wieder auf dem Schlauch, bzw. habe mich zulange nicht mit FM beschäftigt (letztes mal war noch Version 6 aktuell).

    Ich benutze FM Pro 11 Advanced unter Win XP.
    Ich habe in einer Datenbank 2 Tabellen.


    Tabelle 1:
    Name: Einsatz
    Felder: ID,Datum,Guide1,Guide2,Lohn1,Art,Status

    Tabelle 2
    Name: Entgeld
    Felder: ID,Typ,Satz
    Datensätze:
    1,G1,350
    2,G2,260
    3,G1E,450
    4,GP,200
    ...
    ...
    Die Werte für das Feld Satz können sich im Laufe der Zeit ändern.

    Aufgabe:
    Für Tabelle 1 (Einsatz) werden die Felder Datum, Guide1, Guide2,Art und Status per Datenimport eingelesen (funktioniert bereits).
    Das Feld Lohn1 sollen beim Import in Abhänigkeit von Art und Status mit den Werten aus dem Feld Satz von Tabelle 2 (Entgeld) gefüllt werden. Dies geschieht damit für die weitere Verarbeitung immer der am Tage der Auswertung gültige Wert für das Feld Satz verwendet wird.

    Für die Berechung gilt::
    - Wenn: Einsatz::Status = 0 und Einsatz::Art ungleich 1
    dann: Einsatz::Lohn1= Entgeld::Satz (vom Entgeld::Typ=G1)
    - Wenn: Einsatz::Status = 0 und Einsatz::Art gleich 1
    dann: Einsatz::Lohn1=Entgeld::Satz (vom Entgeld::Typ=G1E)
    - Wenn: Einsatz:Status = 1
    dann: Einsatz::Lohn = 0 (das ist bereits realisiert, ebenfalls wie die Logik für die oberen Bedingungen)
    Wie muß ich auf Entgeld::Satz zugreifen, damit ich die richtigen Werte in Einsatz::Lohn eintrage?

    Danke für Eure Hilfe
    Ralf Lauber
  • Heike Landschulz
    Heike Landschulz    Premium Member
    The company name is only visible to registered members.
    Re: Feldinhalt berechnen
    Hallo,


    Ralf Lauber schrieb:
    Hallo zusammen,
    ich stehe gerade mal wieder auf dem Schlauch, bzw. habe mich zulange nicht mit FM beschäftigt (letztes mal war noch Version 6 aktuell).
     
    Ich benutze FM Pro 11 Advanced unter Win XP.
    Ich habe in einer Datenbank 2 Tabellen.
     
     
    Tabelle 1: Name: Einsatz Felder: ID,Datum,Guide1,Guide2,Lohn1,Art,Status
     
    Tabelle 2
    Name: Entgeld
    Felder: ID,Typ,Satz
    Datensätze:
    1,G1,350
    2,G2,260
    3,G1E,450
    4,GP,200
    ...
    ...
    Die Werte für das Feld Satz können sich im Laufe der Zeit ändern.
     

     
    Für die Berechung gilt:: - Wenn: Einsatz::Status = 0 und Einsatz::Art ungleich 1 dann: Einsatz::Lohn1= Entgeld::Satz (vom Entgeld::Typ=G1) - Wenn: Einsatz::Status = 0 und Einsatz::Art gleich 1 dann: Einsatz::Lohn1=Entgeld::Satz (vom Entgeld::Typ=G1E)
    - Wenn: Einsatz:Status = 1 dann: Einsatz::Lohn = 0 (das ist bereits realisiert, ebenfalls wie die Logik für die oberen Bedingungen)
    Wie muß ich auf Entgeld::Satz zugreifen, damit ich die richtigen Werte in Einsatz::Lohn eintrage?

    Ich würde eine Beziehung Staus=Typ erstellen und über diese den Satz holen.

    Mit freundlichen Grüßen
    Heike Landschulz
  • Ralf Lauber
    Ralf Lauber    Premium Member
    The company name is only visible to registered members.
    Re^2: Feldinhalt berechnen
    Danke für die Antwort,

    Heike Landschulz schrieb:
    Ich würde eine Beziehung Staus=Typ erstellen und über diese den Satz
    Da ich Status als Indikator benutze ob überhaupt eine Berechnung von Lohn1 stattfindet, funktioniert das mit der Bezeihung zu Typ leider nicht. Es gibt nach meiner Meinung keine Beziehung zwischen Einsatz und Entgeld - aber eventuell ist das ja der Fehler den ich mache.
    mit SQL Syntax würde ich schreiben:

    If Art=1 then
    Lohn1=SELECT Satz FROM Entgeld WHERE Typ=G1E
    else
    Lohn1=SELECT Satz FROM Entgeld WHERE Typ=G1

    Einsatz::Art kann noch weitere Werte außer 0 und 1 annehmen, die haben dann aber keinen Einfluß auf Lohn1.
    Deshalb klappt auch eine Beziehung zwischen Einsatz::Art und Entgeld::ID nicht .

    viele Grüße
    Ralf Lauber
  • Michael Heider
    Michael Heider    Group moderator
    The company name is only visible to registered members.
    Re^3: Feldinhalt berechnen
    If Art=1 then Lohn1=SELECT Satz FROM Entgeld WHERE Typ=G1E
    else Lohn1=SELECT Satz FROM Entgeld WHERE Typ=G1

    Hi,

    das läßt sich doch mit zwei Beziehungen und der automatischen Eingabe-Funktion 1:1 in FileMaker übertragen!

    Bia dann!
    -Michael Heider, FileMakerConsulting