Avatar billede rpedersen Nybegynder
19. april 2005 - 13:36 Der er 16 kommentarer

Der skal indtastes værdi i felt i underformular.

Jeg har en underformular hvor der er en række felter der skal indtastes værdier i. Hvordan sikre jeg mig at der bliver indtastet noget i felterne.
Kan man få en besked op med det/de felter der ikke er indtastet i ?
Avatar billede mugs Novice
19. april 2005 - 13:43 #1
Det kan gøres på fle måder. I formularens hændelse VedLukning kan Du lægge en kode:

If IsNull(Me.feltnavn) then
Msgbox "Der er ikke indtastet en værdi"
end if

Du kan også lægge koden i det enkelte felt BeForeUpdate
Avatar billede rpedersen Nybegynder
19. april 2005 - 13:52 #2
Det er i en underformular, er det så på underformularens eller hovedformularen jeg skal lægge koden ?

Hændelsen VedLukning, hvad hedder den på engelsk ?
Avatar billede jhertel Nybegynder
19. april 2005 - 13:56 #3
Jeg ville nok nøjes med at gøre det i BeforeUpdate.

Koden fra mugs virker kun hvis Påkrævet (required) er sat til Nej (no) for det pågældende felt i tabellen. Dette er dog det normale.

Følgende skulle virke i begge tilfælde, og fanger også hvis brugeren blot har indtastet mellemrumstegn:

If IsNull(Me.feltnavn) or Trim(Me.feltnavn & "")="" Then
    Msgbox "Der er ikke indtastet en værdi"
End If
Avatar billede mugs Novice
19. april 2005 - 13:56 #4
VedLukning = OnClose

I underformularen. Det reserverede ord Me refererer altid til den aktuelle formular.
Avatar billede jhertel Nybegynder
19. april 2005 - 13:57 #5
Hændelsen VedLukning hedder "On Close" på engelsk.
Avatar billede jhertel Nybegynder
19. april 2005 - 13:57 #6
Sikke man kan krydse hinanden... :o)
Avatar billede rpedersen Nybegynder
19. april 2005 - 14:25 #7
Det virker ikke ved BeforeUpdate, men ved On Close viker det næsten, den lukker min formular og viser så en msgbox, den skal ikke lukke formularen med vise msgboksen også hoppe ned på det felt der ikke er indtaste i
Avatar billede jhertel Nybegynder
19. april 2005 - 14:37 #8
> Det virker ikke ved BeforeUpdate

Kommer der en dialogboks, eller sker der bare ingenting?

Der var en fejl i koden til BeforeUpdate - der manglede en tilskrivning til Cancel:

Private Sub feltnavn_BeforeUpdate(Cancel As Integer)
    If IsNull(Me.feltnavn) or Trim(Me.feltnavn & "")="" Then
        Msgbox "Der er ikke indtastet en værdi"
        Cancel = True
    End If
End Sub

Desuden skal denne programkode indsættes på BeforeUpdate-eventen på alle de felter, som ikke må være tomme. Altså som angivet feltnavn_BeforeUpdate. Husk at oprette disse events i Properties for feltet, og ikke blot ved at tilføje programkoden, ellers virker det vist ikke.
Avatar billede rpedersen Nybegynder
19. april 2005 - 14:51 #9
Ved BeforeUpdate sker der ingenting ?

Den lukker stadig formularen og derefter viser den msgboxen
så man bliver jo ikke tvunget til at skrive noget i feltet.
Avatar billede jhertel Nybegynder
19. april 2005 - 15:22 #10
Så må jeg vist melde pas.
Avatar billede mugs Novice
19. april 2005 - 17:02 #11
Denne er afprøvet og fungerer:

Private Sub kunde_BeforeUpdate(Cancel As Integer)
If IsNull(Me.kunde) Then
MsgBox "Der skal indtastes en kunde"
Cancel = True
End If
End Sub
Avatar billede jhertel Nybegynder
19. april 2005 - 17:07 #12
Hm, er det mig der er blind, eller hvor er forskellen i forhold til den udgave jeg skrev? Altså bortset fra at den også fanger lidt mere?

Jeg er nysgerrig - jeg vil også gerne lære noget her! :o)
Avatar billede mugs Novice
19. april 2005 - 17:13 #13
jhertel > Din kode er afprøvet og fungerer perfekt. Min er lidt mere simpel, men den fanger skam også mellemrum :o)
Avatar billede jhertel Nybegynder
19. april 2005 - 17:21 #14
Okay, så forstår jeg bedre.

Virker din også hvis Required er sat til Yes for det pågældende felt i tabellen???

Det er jo lige før jeg må bide i det sure æble og selv afprøve det i virkeligheden, i stedet for blot at afprøve det i hovedet :o)
Avatar billede jhertel Nybegynder
19. april 2005 - 17:26 #15
Ved du hvad, mugs, jeg trækker mig bare helt tilbage og går hjem og lægger mig. Din kode ser jo ud til at virke fint i alle tilfælde.
Avatar billede mugs Novice
19. april 2005 - 17:28 #16
:o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester