Arbeta med relaterade tabeller > Arbeta med relaterade data i portaler
 

Arbeta med relaterade data i portaler

När du visar relaterade data i en portal visas värden från alla relaterade poster, enligt användarens behörighet. När det relaterade fältet finns utanför en portal visas däremot värdet från den första relaterade posten.

Sortera portaldata

Använd dialogrutan Ändra relation om du vill sortera relaterade poster i en portal. Mer information finns i Skapa och ändra relationer. När Sortera poster är markerat och data i ett relaterat fält i en portal ändras kommer portalens poster att sorteras om varje gång de relaterade posterna utvärderas på nytt. Om du till exempel växlar till en annan post och därefter öppnar samma post igen eller ändrar värdet i det matchande fältet sorteras posterna på nytt. (Använd scriptsteget Uppdatera portal om du vill få bättre kontroll över hur sorteringsordningen uppdateras.)

Sorteringsordningen som anges i dialogrutan Portalkonfiguration får företräde framför sorteringsordningen som anges i dialogrutan Ändra relation. Om du inte anger någon sorteringsordning varken för portalen eller relationen visas relaterade poster i portalen i ursprunglig ordning. Mer information finns i Skapa portaler för att visa relaterade poster.

Filtrera poster i portaler

Du kan filtrera poster i portaler för att visa olika uppsättningar relaterade poster i en portal.

1. Dubbelklicka på portalen i layoutläget.

2. Välj Filtrera portalposter.

3. Definiera en beräkning utvärderas till Sant för portalposterna som ska visas.

Till exempel kan du använda layouten Fakturor i en portal som visar produktposter från tabellen Radposter. Om du bara vill visa de produkter vars kvantitet är större än eller lika med ett använder du formeln If (Radposter::Kvantitet < 1; 0; 1).

Viktigt  Resultaten av statistikfält, beräkningar och sökfrågor baseras på den fullständiga uppsättningen relaterade poster, inte bara filtrerade poster i en portal. Om en portal exempelvis visar en filtrerad delmängd poster och det finns ett Summa-statistikfält utanför portalen som summerar de här posterna, visar statistikfältet summan av alla relaterade poster, inte bara de visade posterna. Om du vill använda data från de filtrerade portalposterna för ett statistikfält, en beräkning eller en sökfråga skapar du en ny relation med samma villkor som för de filtrerade portalposterna. Sedan använder du relaterade fält från den relationen för statistikfältet, beräkningen eller sökfrågan.

Summera data i portaler

Du kan summera data som finns i ett relaterat fält som visas i en portal. Du kan till exempel få totalsumman för alla relaterade poster.

För att göra det placerar du ett statistikfält i tabellen som relaterade poster visas från (tabellen som visas i dialogrutan Portalkonfiguration). Placera sedan statistikfältet i den layout som innehåller portalen.

Anta att en layout använder en portal för att visa all försäljning per säljare, och du vill använda ett statistikfält som visar den totala försäljningssumman.

Så här sammanfattar du data i en portal för det här enkla exemplet:

1. Skapa två tabeller med följande fält:

 

Tabellnamn

Fältnamn

Fälttyp

Kommentar

Försäljning

TransaktionsID

Text

Primärnyckel

 

SäljarID

Text

Främmande nyckel

 

Summa

Numeriskt

 

 

Total försäljning

Statistik

Beräknar totalsumman av fältet Summa – se Definiera statistikfält

Säljare

SäljarID

Text

Primärnyckel

 

Namn

Text

 

2. Skapa en relation mellan de två fälten SäljarID i relationsdiagrammet.

3. Lägg till de fyra fälten i tabellen Försäljning i layouten Försäljning i layoutläget (om de inte har lagts till automatiskt). Lägg till de två fälten i tabellen Säljare bordet i layouten Säljare.

4. Skapa en portal på layouten Säljare som visar relaterade poster från tabellen Försäljning. Ta med följande relaterade fält från tabellen Försäljning i portalen: TransaktionsID, Summa, Total försäljning.

Du kan även placera statistikfältet (Försäljning::Total försäljning) var som helst i layouten Säljare. Mer information finns i Placera och radera fält i en layout.

5. Växla till bearbetningsläget och lägg till följande poster i tabellen Försäljning:

 

Postnummer

Fält

Data

1

TransaktionsID

T1

 

SäljarID

S1

 

Summa

246,00

2

TransaktionsID

T2

 

SäljarID

S2

 

Summa

52,75

3

TransaktionsID

T3

 

SäljarID

S1

 

Summa

10,50

4

TransaktionsID

T4

 

SäljarID

S2

 

Summa

150,00

5

TransaktionsID

T5

 

SäljarID

S1

 

Summa

17,80

FileMaker Pro Advanced fyller i värdet i fältet Total försäljning.

6. Växla till layouten Säljare och lägg till följande data:

 

Postnummer

Fält

Data

1

SäljarID

S1

 

Namn

Anders Carlsson

2

SäljarID

S2

 

Namn

Stefan Lang

FileMaker Pro Advanced anger de relaterade värdena från tabellen Försäljning i portalens rader, och beräknar totalsumman av all försäljning för den säljaren i statistikfältet Total försäljning.

Kommentarer 

Alternativen för portalfiltrering och sortering i dialogrutan Portalkonfiguration är otillgängliga för portaler som visar poster från aktuell tabell. Mer information finns i Skapa portaler för huvud/detalj-layouter.

Du kan visa data från en enda relation i flera portaler på samma sida och använda olika sorteringsordningar för varje portal.

Posterna filtreras enbart i visningssyfte, inte av säkerhetsskäl.

Resultatet av en portalfilterberäkning skulle vara detsamma som resultatet i ett beräkningsfält i den relaterade tabellen.

Även om fält i portalposter uppdateras när data ändras utvärderas ett portalfilter först vid inläsning av posten. Använd scriptsteget Uppdatera portal om du vill uppdatera portalfiltreringen när posten har lästs in.

Du kan använda ett beräkningsfält för att definiera en formel om du vill ha en mer komplex statistik över dina data. Mer information finns i Definiera beräkningsfält.

Relaterade avsnitt 

Skapa portaler för att visa relaterade poster