Jump to content
  • 0

Geen foutmeldingen uit een aangepast dialoogvenster


Henk R

Question

Posted

Klopt het dat, wanneer je een dialoogvenster gebruikt om waarde in te voeren, deze geen foutmeling oplevert

 

Ik probeer via een script een waarde in te voeren met een dialoogvenster. De waarde moet uniek zijn. Deze wil ik via een loop controleren. Als de waarde niet uniek is moet er een aangepast dialoogvenster naar voren komen die verteld dat de waarde uniek moet zijn.

 

de scriptstap "foutafvanging instellen" staat op "aan" en ik gebruik de foutcode "504" = "waarde in veld is niet uniek, zoals voorgeschreven in de bevestigingsopties."

 

Wanneer ik gewoon op de layout een waarde in het veld invul, krijg ik een mededeling dat de waarde niet uniek is, gebruik ik het script dan wordt elke waarde geaccepteerd.

 

Klopt het dus dat filemaker op deze wijze (net als bij "veld instellen") geen foutcode terug geeft

 

En zoja, is dit eenvoudig te omzeilen

8 answers to this question

Recommended Posts

  • 0
Posted

Klopt ik heb dezelfde ervaring.

Dus, veld gevalideerd als uniek, foutafvanging aan en vaststellen dat get(lasterror)=54 niets doet.

Vervelend!

Wat je wel kunt doen is het volgende:

 

Allow User Abort[Off]

Set Error Capture[On]

Show Custom Dialog['titel';"vul in";bestand::gInvoerveld]

Enter Find Mode[]

Set Field[invoerveld;gInvoerveld]

Perform Find[]

If(Get(FoundCount)>0)

Show Custom Dialog["Foutmelding";"Niet Uniek"]

Perform Script["dit script"]

EndIf

New Record[]

Set Field[invoerveld;gInvoerveld]

 

Alternatief: relationeel.

  • 0
Posted

OF Simpelweg Record verzoek vastleggen na het dialoogvenster

FM geeft dan wel de fout weer,en kan opgevolgd worden door eigen foutopvang.

  • 0
Posted
OF Simpelweg Record verzoek vastleggen na het dialoogvenster

FM geeft dan wel de fout weer,en kan opgevolgd worden door eigen foutopvang.

Dat kan natuurlijk maar dan heeft de gebruiker (in het fout-scherm) de mogelijkheid om alsnog een duplicaat in te voeren.

Dat sluit je uit bij een custom dialoog.

Of begrijp ik je verkeerd?

Ben je het trouwens met ons eens dat het een vreemde fout betreft?

  • 0
Posted

Dat heeft hij altijd he,daarvoor is het de gebruiker.Maar hij zal na bevestiging onmiddelijk melding krijgen dat het geen unieke waarde is en vermits je in een script zit laat je het dialoogvenster opnieuw opspringen.

En spijtig maar controle terwijl hij typt is nog niet mogelijk.

Wordt dus ongeveer (maar bespaart je een zoek,die langer duurt)

Foutafhandeling Aan

Record/Verzoek vastleggen

If Get(Laatste Fout)

Dialoogvenster met foutmelding en opnieuw invoerveld

else

...

endif

  • 0
Posted
Dat heeft hij altijd he,daarvoor is het de gebruiker.Maar hij zal na bevestiging onmiddelijk melding krijgen dat het geen unieke waarde is en vermits je in een script zit laat je het dialoogvenster opnieuw opspringen.

En spijtig maar controle terwijl hij typt is nog niet mogelijk.

Wordt dus ongeveer (maar bespaart je een zoek,die langer duurt)

Foutafhandeling Aan

Record/Verzoek vastleggen

If Get(Laatste Fout)

Dialoogvenster met foutmelding en opnieuw invoerveld

else

...

endif

Goed dat je dit nog even ter sprake bracht Ron.

Ik krijg NU een Filemaker dialog met alleen een OK knop, zoals ik het wilde.

Het scriptje wordt steeds kleiner:

 

Set Error Capture[On]

Show Custom Dialog['titel';"vul in";bestand::Invoerveld]

If(Get(LastError)=542)

Perform Script[DitScript]

EndIf

 

BTW1: het werkt niet altijd perfect, meestal verschijnt het Filemaker foutscherm direct OP de custom dialoog, maar soms vangt de lasterror niets.

BTW2: Record/Verzoek Vastleggen, wat is het equivalent in de

Engelse versie, en is dat misschien de reden van de incidentele misser?

  • 0
Posted

in 6 record verzoek afsluiten,maar zit nu praktisch enkel in 7 en daar ondervind ik geen probleem,heb zelfs enkel dit script nodig

 

foutafvang aan

dialoogvenster tonen.....

 

Maar de eerste waarde die ik in dialoogvenster toon en opvraag staat in velddefinities op uniek en altijd bevestigen

Indien ik dan geen unieke waarde invoer blijft mijn dialoogvenster open en geeft FM automatisch een foutmelding

  • 0
Posted

Bedankt voor alle reacties.

 

ik concludeer dus uit alle opmerkingen dat het een bestaand probleem is in Filemaker 6 dat is opgelost in Filemaker 7.

 

De opzet om de invoer via een dialoogvenster te laten doen is om te voorkomen dat de waarde later nog eens gewijzigd kan worden. Ik kan dan op de layout het veld op alleen lezen zetten. De waarde wordt nl. ook in een aantal relaties gebruikt wat door de gebruiker(s) wel eens vergeten wordt. Deze wijzigt dan de waarde waardoor de relaties niet meer werken. Het wijzigen van waarde is wel voorzien maar dit moet dan via een script gebeuren.

 

Aangezien ik nog met filemaker 6 werk, is het voor mij een afweging wat te doen.

 

De gebruiker gewoon in de layout het nummer laten invoeren met het risico op ongeoorloofd wijzigen en wachten tot we op Filemaker 7 over gaan (kan nog wel even duren, ik heb nog mac's onder MacOS 9 draaien die nog niet 1,2,3 zullen verdwijnen) of toch een workaround inbouwen.

 

Ik heb zelf ook zitten denken aan een aparte layout om de waarde in te voeren. Een nieuw record maken gebeurt al via een script dus zo veel stappen extra zijn dat niet.

 

De zoekfunctie zoals Arnoud voorstelt vindt ik niet zo fraai maar is wel een oplossing

 

Ik had zelf als scriptstappen gebruikt.

 

..... Eerdere scriptstappen.

Foutafvanging instellen (aan)

Aangepast dialoogvenster tonen["waarde invoeren","veldnaam"]

Loop

Exit loop if ["status(huidige fout ≠ 504 and not Empty (waarde)"]

Aangepast dialoogvenster tonen ["waarde is niet uniek","veldnaam"]

End Loop

..... latere scriptstappen

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