Jump to content
  • 0

Veld op naam instellen - help


NvD

Question

Beste forumleden,

 

De functie 'veld op naam' is precies op tijd voor mij maar toch loop ik tegen een probleempje op.

Ik heb een soort verjaardagskalender met 366 velden met het dagnummer waarop de juiste dag de verjaardag geplaatst moet worden.

 

Doelveld opgegeven: "Kalender::dagnr Kopie" & DayofYear (Date ( Month ( Kalender::Geboren1 ) ; Day ( Kalender::Geboren1 ) ; Kalender::jaarinstellen ))

 

Nu wil ik in het berekend resultaat eerst controleren of er al een waarde staat in het doelveld en zoja dan doelveld & " en " & ....... onderstaand

 

Berekend resultaat: Kalender::Roepnaam1 & " " & Kalender::jaarinstellen - Year ( Kalender::Geboren1 ) & " jaar".

 

Alle vele pogingen gedaan met get field en naamfield maar wil niet lukken.

 

Alvast hartelijk dank

Nico van Diepen

Link to comment

13 answers to this question

Recommended Posts

  • 0

Alvast bedankt voor het meedenken maar helaas zijn dit niet de oplossingen.

 

met veld op naam instellen heb ik geen echte veldnaam ter beschikking.

 

Ik plaats een verjaardag op het dagnr van dat jaar. Maar er kunnen meer personen jarig zijn die dag dus ik wil controleren of er al een waarde staat in dat veld, maar hoe ??

 

Ik probeer van alles met 'GetField ( Evalueren(Get ( NaamActiefVeld ) ))' en de combi getfieldname maar krijg geen waarde terug.

 

Probeer ik soms iets wat niet mogelijk is of doe ik het, hopelijk, verkeerd.

 

Dus specialisten wie o wie heeft een oplossing

 

Nico

Link to comment
  • 0

Helaas Andries ook dit is niet de oplossing.

 

Veld op naam instellen is nieuw in FM10 en pas in het uitvoeren van het script weet ik welk veld het gaat worden. Afhankelijk wie wanneer jarig is.

 

In jouw script wordt test::test al toegewezen aan een variabele wat ik dus niet kan.

 

Ik blijf zelf ook nog doorzoeken.

 

Hartelijk dank voor de inzet

 

Nico

Link to comment
  • 0

Je wilt controleren of er al een waarde staat, maar wat wil je daar mee?

Als doelveld>"" waar is, is er dus een waarde.

De eerder gegevens formule plakt dan de nieuwe gegevens achter de bestaande waarde.

Je hoeft niet te WETEN dat er een waarde is, dat WEET filemaker wel.

Of wil je het om een andere reden WETEN?

 

Of bedoel je dat je het veld eerst een naam moet kunnen geven voordat je het kan vullen, je moet dus eerst weten welk veld gevuld moet worden? Dat is het dan de waarde van Dagnummer?

Dan wordt het iets van Veldopnaam=Dagnummer en dat veld dan vullen met de naam van de persoon?

(ik heb nog geen FM10, kan dus niet testen)

Link to comment
  • 0

Veld op naam instellen is nieuw in FM10 en pas in het uitvoeren van het script weet ik welk veld het gaat worden. Afhankelijk wie wanneer jarig is.

 

Dan zet je ipv met xml2var die gewoon script parameters in lokale variabele omzet, zet je die variabele via twee scriptstaps. Namelijk je zet $FieldName en $Value op het moment dat je dus de veldnaam wel kent en de waarde die je er zou in willen zetten. Verder blijft de berekening in de script stap Set Field By Name identiek. Enkel de plaats waar je dus die variabele zou declareren moet je aanpassen.

Link to comment
  • 0

Andries bedankt,

 

Je hebt mij op de goede weg gezet en heb nu de volgende werkende formule:

 

veld op naam instellen

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

doelveld opgeven:

 

Let (

 

$dagveld = "Kalender::dagnr Kopie" & DayofYear (Date ( Month ( Kalender::Geboren1 ) ; Day ( Kalender::Geboren1 ) ; Kalender::jaarinstellen ))

 

; $dagveld )

 

================================

 

berekend resultaat:

 

If (GetField( $dagveld ) <>"" ; GetField( $dagveld ) & " & " ; "" )

 

& Kalender::Roepnaam1 & " " & Kalender::jaarinstellen - Year ( Kalender::Geboren1 ) & " jaar"

 

groeten,

Nico

Link to comment
  • 0

Blij je van dienst te zijn geweest, alhoewel ik ook niet al die velden snap :-) mss is het toch goed eens om naar harries oplossing te kijken...

 

Als ik het goed begrijp heb je een veld per dag... dat is wat overdreven, en werken met relaties ( en bijvoorbeeld een record per dag ) zal je nadien veel meer mogelijkheden geven...

Link to comment
  • 0

Geweldig van iedereen om zo mee te denken. Ik zal toch nu uitleggen waarvoor ik het nodig heb en de werking.

 

Het doel:

Alle tennisleden krijgen op krijgen 1x op hun huisadres een kalender. In die kalender staan de verjaardagen alleen van die mensen die op dat huisadres wonen en tevens lid zijn van de tennisvereniging.

 

De opzet:

Ik krijg data met 2000 leden. Ik controleer hoeveel wie bij elkaar woont. De grootste was 6 personen. Uiteindelijk houd ik 1100 huisadressen over.

Je begrijpt dat ik per record de hoofdbewoner heb met daarnaast max. 5 andere bewoners. Dus 6x voornaam, 6x geboortedatum en ga zo maar verder. Tevens 366 velden voor het jaar met de dagnrs.

 

De werking:

Het script wat ik nu gemaakt heb zorgt ervoor dat per record (dus het huisadres) de max. 6x geboortedatum in het juiste veld met dagnr. wordt geplaatst, resultaat; Marie 50 jaar en als er nog iemand op de zelfde dag jarig is (dit was het grootste probleem) staat er dus; Marie 50 jaar & Nico 8 jaar

 

Resultaat:

In een speciaal programma voor het personaliseren van bv. een pdf verwerk ik deze data en bij de digitale printer komen er dan 1100 gepersonaliseerde kalenders uitrollen met huisadres ingevuld op het eerste blad.

 

Ik hoop dat het voor nu voor iedereen duidelijk is waarom er zoveel velden zijn maar ik hoef dit script maar 6x te gebruiken per record namelijk het veld geboortedatum uitlezen en klaar.

 

Hartelijke groeten allemaal,

Nico

Link to comment
  • 0

Is het dan niet logischer om twee tabellen te hebben? eentje met de adressen in, en eentje met je leden in ( inclusief geboortedatum )... en leg dan een 1-n relatie tussen beide.

 

Moest er dan perongeluk eens een groot gezin bij komen, waar meer dan 6 mensen wonen per adres, moet je je tabellen niet aanpassen.

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...