Na invullen gegeven in formulier, het vakje laten vergrendelen??

Status
Niet open voor verdere reacties.

kuyt1

Gebruiker
Lid geworden
8 mrt 2012
Berichten
24
Hallo allemaal,

Wanneer iemand in het formulier iets invult of uit de keuzelijst kiest, is het dan mogelijk om na het opslaan van het record het tekstvak/combobox, te laten vergrendelen dat ze deze niet meer kunnen aanpassen in het vervolg in het formulier?? Gaat specifiek maar om 1/2 velden in het formulier..
Heb bijvoorbeeld een deadline.. deze moeten ze invullen, maar willen niet hebben dat deze tussentijds wordt aangepast zodat ze de deadline toch halen...

Ik dacht dat het mogelijk was, maar alleen niet hoe, iemand die mij verder kan helpen??
 
Je kunt de eigenschap Enabled op False zetten via een gebeurtenis. Waar je dat doet is een beetje tricky, want je wilt wel dat er bij een nieuw record iets gekozen kan worden, dus ik zou het in eerste instantie doen bij de gebeurtenis <Bij Aanwijzen> van het formulier, en eerst controleren of je in een nieuw record zit of niet.
 
Laatst bewerkt:
Je zou het veld kunnen locken als er een waarde is ingevuld.
Code:
If Me.Jou_Deadline_veld <> "" Then
Me.Jou_Deadline_veld.Locked = True
Else
Me.Jou_Deadline_veld.Locked = False
End If

net ff getest op mijn database en het werkt
 
Dat werkt ongetwijfeld, maar is niet helemaal de vraag.... Zolang het record nog niet is opgeslagen, wil je de waarde namelijk nog wel kunnen wijzigen. Het kan tenslotte altijd voorkomen dat je per abuis de verkeerde aanklikt, en dan hang je ;)
 
Ts wil volgens mij juist dat de waarde niet meer gewijzigt kan worden.
Het is denk ik een kwestie van zorgen dat het opslaan en ingeven van de einddatum de laatste stap in het
Proces is. Het gaat erom dat de deadline gelocked word en dat kan dus zo.
Misschien is t simpel maar niet alles hoeft ingewikkeld te zijn ;)
 
Wanneer iemand in het formulier iets invult of uit de keuzelijst kiest, is het dan mogelijk om na het opslaan van het record het tekstvak/combobox, te laten vergrendelen etc.
Lijkt mij duidelijk wat TS bedoelt... Ergo: zolang het record nog niet is opgeslagen, moet je de keuzelijst nog kunnen wijzigen. En zo zou ik het zelf ook doen; de methode van Jeroen is veel te strikt.
 
Laatst bewerkt:
Het gaat mij er inderdaad om dat de keuzelijst wordt vergrendeld na het opslaan.. want zoals Octafish correct aangeeft is dat ze bij het verkeerd aanklikken al meteen vast zitten. De keuze moet vrij zijn en moet gewijzigd kunnen worden indien het record nog niet is opgeslagen. Wanneer het wordt opgeslagen (knop in formulier, macro), dan moet het record worden vergrendeld en mag deze ten alle tijden niet meer worden veranderd in het formulier zelf.. (Indien er fout in zit kan het altijd nog via de afhankelijke tabelvorm worden aangepast)
 
Om het verhaal af te maken: ik zou het dus instellen op de status NewRecord; zolang een record nieuw is en niet opgeslagen, kun je de keuzelijst nog wijzigen. Anders niet.

Code:
Private Sub Form_Current()
    If Me.NewRecord = True Then
        Me.cboProjectnummer.Enabled = True
        Me.cboProjectnummer.Locked = False
    Else
        Me.cboProjectnummer.Enabled = False
        Me.cboProjectnummer.Locked = True
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan