2013

Jan

4

Av

Ett av de mest lästa inläggen på bloggen just nu handlar om att skapa ny post i annan tabell. Jag gör gärna det med manus för att ha full kontroll och kunna återanvända samma manus på flera ställen. 

Det finns dock betydligt enklare sätt.  Det allra enklaste är att göra en portal och skriva in värden på sista raden i portalen. För varje rad i portalen skapas en post i den relaterade tabellen.

Som exempel har jag en tabell med personer. I tabellen finns ett id-nummer (ett löpnummer) som jag kallar id_personoch ett fält för personens namn. Till varje person vill jag skriva en eller flera anteckningar, varje anteckning ska finnas i en egen post i en annan tabell.

Tabellen Anteckningar innehåller även den ett id-nummer (löpnummer), ett datumfält som automatiskt får dagens datum när posten skapas, ett fält för anteckningen samt fältet id_person som ska användas för att koppla ihop en person med anteckningarna för personen.

I relationsdiagrammet, som du öppnar med kommandot Hantera databas i menyn Arkiv, skapar jag en relation mellan tabellerna genom att dra en linje från fältet id_person i tabellen Personer till fältet id_person i tabellen Anteckningar.

Portaler1

Dubbelklicka sedan på symbolen mitt på linjen mellan tabellerna och försäkra dig om att fältet idperson är valt som nyckelfält i båda tabellerna med ett likamedstecken mellan dem. Markera också kryssrutan Tillåt att poster skapas i den här tabellen via den här relationen under tabellen Anteckningar, annars kan du inte lägga till poster i portalen som du ska göra.
Portaler2

Klicka OK för att stänga dialogrutorna och gå till layouten som visar poster fån tabellen Personer. Välj att gå till layoutläget (menyn Visa) och använd portalverktyget för att rita en portal på lämplig plats i layouten. Välj att visa poster från relationen Anteckningar som du precis gjorde.

Portaler3

När du klickar på OK visas ytterligare en dialogruta där du får välja vilka fält som ska visas i portalen. Välj att visa fältenAnteckning och Datum (du kan ändra det senare).

Portaler8

När du går till bearbetningsläget ser du att det finns en tom rad i portalen. Skriv en anteckning i anteckningsfältet (det vänstra av de båda). Tryck sedan på tab-tangenten för att gå till datum-fältet. Du får med automatiskt dagens datum där. När du trycker på tab-tangenten igen så skapas en ny tom rad i portalen. Du kan lägga till flera rader på en gång om du vill.

Portaler5
Varje rad i portalen är en post i tabellen Anteckningar. Gå till layouten för anteckningstabellen så ser du posterna. De har med automatik fått värde även i fältet id_person, samma id som den person har där du skrev anteckningarna. Nedan visas 2 poster från tabellen Anteckningar i tabell-läge.

Portaler6
Självklart kan du lägga till rader i portalen med manus. Vill du lägga till en rad med anteckningen “Ny anteckning” kör du följande manus:

portaler7

Metoden att skapa poster i en portal har blivit aktuellt den senaste tiden för att synkronisera databaser, t.ex. en lokal databas i FileMaker Go med en central databas på en FileMaker Server. Metoden används för att simulera transaktioner, ett vanligt begrepp i SQL-databasernas värld, posterna i portalen skapas egentligen inte förrän du klickar utanför fälten eller använder manussteget Verkställ post. Skulle något fel inträffa, kontakten bryts etc., så kan man se till att posterna inte skapas förrän nästa gång synkroniseringen görs.

Det är inte alltid man vill visa den tomma raden längst ner i portalen. Den går att ta bort men du måste då skapa portalrader med manus via en annan relation, läs mer om det här eller här.

Det går också att skapa post i annan tabell utan portal, läs mer om det här.

Du kan ladda ner exempeldatabas här: Portaler.fmp12 (112,00 kb)

Skriv en kommentar

  • (will not be published)
  • 8 − three =

Läs också: