05. juni 2003 - 19:28Der er
14 kommentarer og 1 løsning
Skrivebeskyttelse og tomme felter
I en flerbruger database har jeg behov for at skrivebeskytte imod utilsigtet ændringer af indtastet data.
Meddelsen skal kun aktiveres hvis féltet er udfyldt, dvs at når feltet er tom / ikke udfyldt skal meddelsen ikke poppe op. Det kan jeg ikke rigtig få på plads. Hvad gør jeg galt når jeg skriver.
Private Sub Arbejdsgiver_BeforeUpdate(Cancel As Integer) If Not IsNull(Arbejdsgiver) Then If MsgBox("Du har ændret data! Er du sikker på at du vil gemme ændringerne?", vbQuestion + vbYesNo, "Gem ændringer?") = vbNo Then DoCmd.CancelEvent Me.Undo End If End If End Sub
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Desværre ikke helt. Hvis der er indtastet data og jeg sletter dem og feltet ´nu er blank så popper meddelsen ikke op. Men når jeg går ind i et tom felt og udfylder det med data popper Msgbox'en op, og det er præsis i den situation jeg godt vil ha at Msgbox'en ikke fremkommer med sin forespørgelse
Jeg må indrømme jeg ikke kan få det til at fungerer. Der er tale både om nye poster og tomme felter på tidligere oprettet poster hvor jeg godt vil undgå at msgbox popper op. Jeg har prøvet i makro, men har her problemer med hvordan jeg skal difiner betingelsen for at vise meddelsesboxen - idet den ikke skal poppe op hvis fletet IsNull.
Private Sub Arbejdsgiver_BeforeUpdate(Cancel As Integer)
If NOT Me.newrecord and len(me.Arbejdsgiver) > 0 Then If MsgBox("Du har ændret data! Er du sikker på at du vil gemme ændringerne?", vbQuestion + vbYesNo, "Gem ændringer?") = vbNo Then
Nu bliver der meget bedre med Terrys svar. Den er lige ved at være der. Det eneste problem der står tilbage er hvis sletter alt data i et felt og det står tomt fremkommer meddelsen ikke. Msgbox kommer derimod hvis man delvist sletter noget af teksten.
Jeg må indrømme, at siden terry kom ind i billedet har jeg ikke afprøvet mine forslag. Men et nyt gæt er:
If NOT Me.newrecord and len(me.Arbejdsgiver) > 0 Or If IsNull(me.Arbejdsgiver) Then If MsgBox("Du har ændret data! Er du sikker på at du vil gemme ændringerne?", vbQuestion + vbYesNo, "Gem ændringer?") = vbNo Then
kun du bestemmer hvem der skal have point. Du må vurdere hvem der har bidraget til løsningen. husk at du kan dele point mellem flere bidragsydere.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.