Relationer med flera villkor

I en relation med flera villkor ökar du antalet matchande fält, vilket gör att FileMaker Pro måste utvärdera flera villkor innan relaterade poster kan kopplas samman. I FileMaker Pro jämförs värdena från varje matchande fält på båda sidorna i relationen i den ordning som fälten förekommer. Det här kallas för en OCH-jämförelse – för att matchningen ska stämma måste varje matchande fält hitta ett motsvarande värde i samma post i den andra tabellen.

Två tabeller med linjer mellan fyra fält som visar en relation med flera villkor

Den här relationen definieras med följande villkor:

Tabell

Fältnamn

Kommentar

TabellA

TextfältA

Matchande fält till TextfältB och NumerisktFältB

 

NumerisktFältA

Matchande fält till TextfältB och NumerisktFältB

TabellB

TextfältB

Matchande fält till TextfältA och NumerisktFältA

 

NumerisktFältB

Matchande fält till TextfältA och NumerisktFältA

Enligt villkoren i den här relationen matchar en post i TabellA med värdet blå i TextfältA och värdet 123 i NumerisktFältA endast de poster i TabellB där TextfältB innehåller värdet blå och NumerisktFältB innehåller värdet 123. Om TextfältA och TextfältB innehåller matchande värden men NumerisktFältA och NumerisktFältB inte gör det, returneras inga relaterade poster av den här relationen.

Tabell

Postnummer

Fältnamn

Värde

Relaterad post?

TabellA

1

TextfältA
NumerisktFältA

Blå
123

Ja

 

2

TextfältA
NumerisktFältA

Blå
456

Nej

 

3

TextfältA
NumerisktFältA

Röd
123

Nej

TabellB

1

TextfältB
NumerisktFältB

Blå
123

Ja

 

2

TextfältB
NumerisktFältB

Röd
123

Nej

 

3

TextfältB
NumerisktFältB

Blå
123

Ja

Skapa en relation med flera villkor

I det här exemplet skapas en relation med flera villkor med en databas med dessa tre tabeller:

  • Utrustning, som lagrar inventarier för uthyrning av utrustning
  • Kunder, som innehåller kundernas namn och adresser.
  • Catering-produkter, med en post för respektive artikel, det vill säga utrustnings-ID, kundnr och uthyrningsdatum.

Den här databasen spårar uthyrning av utrustning och visar en önskad kunds alla uthyrningar ett visst datum.

  1. Relationen med flera villkor finns mellan tabellerna Kunder och Catering-produkter. Skapa de här tabellerna med följande fält:
  2. Tabell

    Fältnamn

    Kommentar

    Kunder

    KundID

    Numeriskt fält, automatisk inmatning av löpnummer – ett av de matchande fälten till tabellen Catering-produkter

     

    Eventdatum

    Datumfält – det andra matchande fältet till tabellen Catering-produkter

    Catering-produkter

    KundID

    Numeriskt fält – ett av de matchande fälten till tabellen Kunder

     

    Eventdatum

    Datumfält – det andra matchande fältet till tabellen Kunder

     

    Utrustnings-ID

    Numeriskt fält

  3. Definiera KundID och Eventdatum som de matchande fälten i relationen mellan tabellerna Kunder och Catering-produkter i dialogrutan Ändra relation.
  4. Ange att ett löpnummer ska anges automatiskt i fältet KundID i tabellen Kunder, så att varje post i tabellen Kunder får ett unikt ID-nummer.
  5. Markera Tillåt att poster skapas i den här tabellen via den här relationen i tabellen Catering-produkter.

    Tabellerna i relationsdiagrammet ser ut så här:

  6.  

    En relation med flera villkor mellan tabellen Kunder och tabellen Catering-produkter

  7. Lägg till en portal på layouten Kunder, och lägg till fältet Kunder::Utrustnings-ID på portalen.

Om du vill skapa en ny relaterad post anger du aktuellt datum i fältet Kunder::Eventdatum och sedan ett ID-nummer för utrustning i portalen i layouten Kunder.

Eftersom Eventdatum är ett matchande fält och relationen tillåter att relaterade poster skapas i tabellen Catering-produkter anges värdet från Kunder::Eventdatum automatiskt i fältet Catering-produkter::Eventdatum.

Du kan visa uthyrningar från tidigare datum genom att ändra värdet i Kunder::Eventdatum. Alla relaterade poster med samma KundID och händelsedatum visas.