Arbeta med relaterade tabeller > Om relationskriterier > Relationer med flera villkor
 

Relationer med flera villkor

I en relation med flera villkor ökar du antalet matchande fält, vilket gör att FileMaker Pro Advanced måste utvärdera flera villkor innan relaterade poster kan kopplas samman. I FileMaker Pro Advanced 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.

Tabellen Studenter och tabellen Klasser som vardera har en relationslinje till kopplingstabellen Registreringar

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:

 

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

2. Definiera KundID och Eventdatum som de matchande fälten i relationen mellan tabellerna Kunder och Catering-produkter i dialogrutan Ändra relation.

3. 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.

4. 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:

Studenttabellen och tabellen med kontaktinformation med en relation av typen en-till-en mellan dem

5. Lägg till en portallayouten 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 kund-ID och händelsedatum visas.

Relaterade avsnitt 

Arbeta med relationsdiagrammet

Skapa och ändra relationer

Skapa portaler för att visa relaterade poster