Jump to content
  • 0

Blijf hangen in een loop...


Jeffrey

Question

In mijn applicatie is het mogelijk door middel van een script om

een key field te wijzigen.

 

Dit gebeurd door een script waarin

je eerste een nieuw nr moet invoegen in een global field,

vervolgens controleert een ander scriptje of het nr al

bestaat aangezien deze uniek moet zijn.

Maar in dit controle script blijft hij hangen.. het script ziet er als volgt uit..

 

Ik heb als global fields: totaal records, controle en nieuwnr

 

 

Clear [select,"Controle"]

Go to Record/Request/Page[First]

Loop

If ["huidignr <> nieuwnr"]

Go to Record/Request/Page [Next]

Set Field ["Controle", "controle +1"]

Else

Show message [ "Dit is geen uniek nr, voer een ander in"]

Perform Script "nr wijzigen"

End if

Exit Loop If ["Controle = totaal records"]

End Loop

 

Ik wil dus eigenlijk dat het controle script alle records afgaat om

te kijken of het nr toevallig al bestaat. Zo ja,

dan moet er een nieuw nr ingevoerd worden. Zo nee,

dan moet ie verdergaan.

Link to comment

2 answers to this question

Recommended Posts

  • 0

Nu klopt mijn loop, althans ik blijf niet hangen.

Maar nu komt het volgende probleem..

 

Het nieuwe nr is een global field..

Ik roep een nieuw scherm op dat gekoppeld is aan het huidige nr.

 

Huidig nr: .....

Nieuw nr: .....

 

Wanneer hij nu het nieuw nr gaat controleren met het script gaat hij

alle records af. En eindigt wanneer hij bij het laatste record is.

 

Maar wijzigt dan ook het nr van het laatste record en niet van de record waar ik mee begonnen was.

 

Wat doe ik dan verkeerd of hoe los ik dit op?

Link to comment
  • 0

Hoi,

 

Ik heb even naar je probleem gekeken en begrijp duidelijk niet geheel wat je nu probeert, maar ik heb wel begrepen dat het 'loop'-en van je niet echt een goede/snelle oplossing is...

Trouwens gebruik liever geen "clear", maar setfield[controle, ""], want voor clear moet het veld op het scherm staan.

 

Wat ik altijd zelf doe is het volgende:

 

(ik begrijp dat je een global hebt voor de nieuwe key)

 

maak een relatie ( genaam "a") van gNewKey naar huidigeKey (moeten beide van het zelfde type zijn)

 

daarna kun je een heel simpel controleren of je al dan niet een geldige key hebt ingevuld, met een script als

 

Freeze Window

if[isvalid(a::huidigeKey)]

show message["dit nummer bestaat al"]

else

set field[huidigeKey, gNewKey]

end if

 

Ik hoop dat dit je een beetje helpt, anders moet je maar een vervolg post doen...

 

Joost

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