Jump to content
  • 0

Kijk mama zonder scripts!


clarify9

Question

Ik ben opzoek naar een oplossing om door middel van invoer van één record in tabel A, in tabel B drie records (of een ander willekeurig aantal) automatisch aan te laten maken.

 

Het is de bedoeling dat de records in tabel B automatisch van nummering worden voorzien.

 

------------------------------------------------------------------------------------

 

Visueel:

 

Tabel A:

Record 1: Waarde = 3 (betekenis 3 records aanmaken)

 

Tabel B:

Record 1: Waarde 1-1

+ Record 2: Waarde 1-2

+ Record 3: Waarde 1-3

 

------------------------------------------------------

 

Hoe kan ik dit het beste aanpakken?

 

Tot nu toe lukt het mij alleen om in tabel B automatisch één record te maken, door middel van een relatie met tabel A. Echter het lukt niet meerdere records aan te maken via deze methode.

 

Groet,

 

Clarify9

Edited by Guest
Link to comment

13 answers to this question

Recommended Posts

  • 0

Dit zul je moeten scripten

Set Variable [$ID; Value:Tabel 1::ID]
Set Variable [$Counter; Value:Int ( Tabel 1::Number )]
If [$Counter > 0]
  Go to Layout ["Tabel 2" (Tabel 2)]
  New Record/Request
  Set Field [Tabel 2::ID; $ID]
  Loop
     Set Variable [$Counter; Value:$Counter - 1]
     Exit Loop If [$Counter = 0]
     New Record/Request
     Set Field [Tabel 2::ID; $ID]
  End Loop
End If

Pas de 'Set Field' scriptstappen aan om velden de inhoud te geven die je wilt.

 

Succes, Henk

Link to comment
  • 0

Dank voor uw antwoord. Is het wellicht ook mogelijk een en ander zonder script op te lossen???

 

Eerder spak ik al over de (on) mogelijkheid van het maken van een record in een andere tabel middels het bewerken van een relatie.

 

Het probleem van die oplossing was dat je maar 1 record tegelijk in 1 andere tabel kunt laten aanmaken.

 

Nu heb ik in de tussentijd bedacht dat tabel A ook meerdere "automatische" relaties kan hebben, en je dus via deze oplossing dan X records kunt aanmaken, al staan deze dan in verschillende tabellen.

 

Rest dan inderdaad dat alle records uit de tabellen, hoewel hetzelfde van uiterlijk, dan in een andere tabel staan.

 

Dat is niet de bedoeling, maar wellicht simpel op te lossen door het herformulerne van mijn vraag, die wordt dan:

 

 

NIEUWE VRAAG:

 

Is het wellicht mogelijk 3 soortgelijke tabellen als het ware "door te kopieëren" naar tabel 4 (zonder script functies)?

 

VOORBEELD

 

VAN

TABEL 1) r1 100 - 200 - 300

TABEL 1) r2 999 - 999 - 999

TABEL 2) r1 400 - 500 - 600

TABEL 3) r1 700 - 800 - 900

 

NAAR TABEL 4)

r1 100 - 200 - 300

r2 400 - 500 - 600

r3 700 - 800 - 900

r4 999 - 999 - 999

 

 

Nogmaals dank,

 

Clarify9

Link to comment
  • 0

Mijn bijdrage hier is waarschijnlijk volstrekt niet nuttig. Maar het intrigeerde me wel om te proberen of je zonder scripting meerdere records in een tabel kan aanmaken én ook nog eens een nummering toekennen.

En ja hoor, het werkt! Er is wel een klein nadeel aan verbonden: je moet voor elk gewenst aantal records een table occurrence voorzien :D

Dus waarschijnlijk niet erg bruikbaar, ... maar wel leuk ...

Voor de nummering heb je wat variabelen nodig:

Let([
       thisFK = _fkA_ID;
       switch = If($$lastFK<>thisFK;1;0);
       $$teller = If(switch; A::gNummerVanaf; $$teller+1);
       $$lastFK = thisFK
];
$$Teller
)//End Let

CreateRecords.fp7

screen2.jpg.47231fd460f7415e723283824f5b9e1e.jpg

screenshot.jpg.6dfeecd9bfc2bfdd296b8451d2005444.jpg

Link to comment
  • 0

Als er dan met bloemekes naar mij gegooid wordt, zal ik maar mee in de thread stappen... :?

 

Ik ben aan een freeware SQL plug-in bezig waarmee je met een calculatie records kan maken. De plug-in praat met je FileMaker in SQL taal.

Hier een filmpje van een roll back-roll forward systeempje. Er komt geen enkel script aan te pas, en de 2 tabellen zijn zelfs op geen enkele manier gelinkt aan mekaar.

 

http://www.clarify.net/peter/DoSQL_rollback.mov

 

If ( not $$_ROLLINGBACK ;
mFMb_DoSQL(  
"insert into data_rollback ( name, address, _k, r_modCount ) values ( " 
& SQLquote ( data::name ) & ", " 
& SQLquote ( data::address ) & ", " 
& SQLquote ( data::_K )  & ", "
& SQLquote ( data::r_modCount ) 
& ")" 
) or True ;
True
)

5a758dc434495_FileMakerProAdvancedScreenSnapz001.jpg.2bbae373e3a568ea5957d64133ef922b.jpg

Link to comment
  • 0

Ik vind dit een oplossing van het niveau 'Wagemans', dus niet al te bescheiden heer Aarts!

allez, merci. Misschien valt dit wel onder Peters noemer "Xtreme"

 

En laat dat nou net de trigger zijn om Jeroen en Peter in actie te zien schieten

Opgelet: van het geslacht 'Aarts' heb je twee exemplaren. Jeroen is de nerd, Joris is de knapste en de briljantste en... het meest bescheiden :D

Link to comment
  • 0

Waar kan ik documentatie vinden voor dit soort custom calculatie mogelijkheden? 

Neem een abonnement op FileMaker Advisor! Bezoek de FileMaker DevCon in Lyon of Orlando! Of koop een boek! Using FileMaker Pro 8 is goed.

 

Volgens mij werkt het ook als je het trigger veld uit je relatie verwijderd.

 

Yep! You're right. Moet nog een overblijfsel van een vorig probeersel zijn geweest. Trigger dient enkel om de record creatie in gang te zetten en heeft als dusdanig niks met de relaties te maken.

Voor de volledigheid het vereenvoudigde diagram:

screen.jpg.da308b602b50863339c6960c5413b061.jpg

Link to comment
  • 0
Hier een filmpje van een roll back-roll forward systeempje.

Mooi! Dynamisch en zonder extra relaties of scritps. Clean. 8) Maar wéér een plugin 8O

Je kan een rollback-systeem perfect in FileMaker zelf maken. De modification history maak je via een history veldje en auto enter calc, de evaluate-functie en een snuif XML. De rollback is een kwestie van scripting.

(Ik wou nog een screenshot toevoegen maar de attachment upload laat het afweten)

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...