2010

Aug

27

Av

Det kan i vissa fall vara intressant att fylla på en lokal databas i Go med data från en server. Anledningen kan vara att man t ex vill hämta grunddata som ska användas ute på fältet där man inte har tillgång till nätet. Tyvärr är import en av de funktioner som inte finns i Go.

Uppdatering: Import finns numera i FileMaker Go 1.1.

Lösningen är att lägga till en datakälla i databasen som pekar mot en FileMaker Server eller FileMaker Pro. I exemplet vill jag hämta namn på personer från en databas på en FileMaker Server till den lokala databasen. Den lokala databasen måste förberedas för detta eftersom du inte kan ändra några definitioner alls i FileMaker Go.

1. Lägg till en extern datakälla som pekar mot den externa databasen där datan ska hämtas från.

2. Lägg till en tabellförekomst till önskad tabell i den externa databasen i relationsdiagrammet.

3. Skapa en relation mellan den lokala tabellförekomsten och tabellförekomsten som pekar mot den externa databasen. Relationen görs i exemplet så att alla poster hittas i extern tabell, X-relationen används.

4. Följande manus skapas för att hämta data från den externa datakällan:

#Lägg in data från extern databas i en variabel.
Ange variabel [ $Namnen; Värde:List(Personer::Namn) ]
#Skapa nya poster med datan i variabeln.
Gå till layout [ “FMGo_hamta_data” (FMGo_hamta_data) ]
Loop
   Exit Loop If [ IsEmpty($Namnen) ] 
   Ny post/sökpost
   Tilldela fält [ FMGo_hamta_data::Namn; GetValue($Namnen;1) ]
   Ange variabel [ $Namnen; Värde:MiddleValues ( $Namnen ; 2 ; 9999999 ) ]
End Loop

Manuset kan köras lokalt på iPhone/iPad/iPod Touch när nät finns tillgängligt. När väl datan är överförd behövs inte tillgången till nät längre och databasen kan användas lokalt ute på fältet.

Ovanstående teknik går också att kombinera med ett manus som körs på servern och som i sin tur hämtar hem färsk data från någon webbtjänst på internet.

Skriv en kommentar

  • (will not be published)
  • 6 + one =

Läs också: