Ga naar inhoud
  • 0

Veld op naam instellen - help


NvD

Vraag

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 naar reactie

13 antwoorden op deze vraag

Aanbevolen berichten

  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...