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.
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:
5. 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 kund-ID och eventdatum visas.
Relaterade avsnitt