Avatar billede hekla Nybegynder
19. februar 2003 - 19:21 Der er 6 kommentarer og
3 løsninger

Omgå required felt i formular

Jeg har en formular, hvor to af felterne er required i den bagvedliggende tabel. Dette kan ikke ændres.

I formularen har jeg lavet en subformular med en kalender til at opdatere formularens datofelt (Se http://www.eksperten.dk/spm/315156). Dette går meget fint hvis jeg indsætter en ny dato én gang, men hvis jeg gør det én gang til uden at de to felter, som står til required, er udfyldt, kommer der følgende fejlmeddelelse:

Feltet "field1" kan ikke indeholde en Null-værdi, fordi egenskaben Required til dette felt er angivet til true. Indtast en værdi i dette felt.

Hvordan undgår jeg det???
Avatar billede mugs Novice
19. februar 2003 - 19:26 #1
Det kan du ikke som din db er skruet sammen. "field1 " skal jo have data som du har defineret i tabellens egenskaber.
Du kan dog slette denne egenskab og i formularen definere nogle egenskaber for feltet. Det vil stort set svare til dine valideringsregler i tabellen.
19. februar 2003 - 21:15 #2
Problemet er, at Access forsøger at gemme posten, så snart du hopper ind i en subform (eller ud af én).
Derfor vil jeg anbefale dig at anbring kalenderen på hovedformen eller som en popup-formular. Derved undgår du at Access forsøger at gemme posten (og derved undgår du at få fejlen før du på anden vis gemmer posten uden at angive de 2 felter.

/Thomas
Avatar billede hekla Nybegynder
19. februar 2003 - 21:38 #3
Jeg er godt klar over, at problemet er, at Access prøver at gemme posten. Mit spørgsmål kunne også omformuleres til: Hvordan undgår man, at Access gemmer posten i dette tilfælde.

Ang. PopUp-formular, se http://www.eksperten.dk/spm/315156

/hekla
19. februar 2003 - 21:42 #4
Du kan IKKE undgå at access forsøger at gemme posten, når du springer fra underformular til hovedformular eller omvendt!!! På ingen måde.
Derfor er mulighederne følgende:
-Placer kalender på samme formular som resten af posten eller lav en popup!
-Fjern 'Required' på felterne (og du siger at dette ikke er muligt)

Hvad er der i vejen med at lægge kalenderen på hovedformularen?
Avatar billede hekla Nybegynder
19. februar 2003 - 21:54 #5
Jeg sidder og arbejder på en tredie mulighed, nemlig at sætte nogle fiktive værdier ind i de to felter, som brugeren så bliver bedt om at ændre, når han lukker formularen. Det er ikke optimalt, men dog en mulighed.
19. februar 2003 - 22:19 #6
ja, du kan selvfølgelig altid sætte f.eks. " " ind. Men derved risikerer du at brugeren kan omgå den indbyggede restriktion (som vel er der fordi der er behov for den).
Avatar billede hekla Nybegynder
19. februar 2003 - 22:37 #7
Det er indtil videre endt med at se sådan her ud. Måske ikke så elegant, men det fungerer faktisk helt godt:

Ved klik på det felt, som åbner kalenderen har jeg sat følgende ind:

'Skriver "Generelt", hvis der ikke er valgt område
If Me.field1 = "Vælg område" Then
  Me.field1 = "Generelt"
Else
End If
'Skriver "initialer", hvis der ikke er skrevet initialer
If IsNull(Me.init) Or Me.init = "" Then
  Me.init = "initialer"
Else
End If
'Åbner kalenderen
Me!Kalender.Visible = True

og i knappen der lukker formularen har jeg sat følgende ind:

'Tvinger brugeren til at skrive sine initialer
If IsNull(Me.init) Or Me.init = "" Or Me.init = "initialer" Then
    MsgBox "Du skal skrive dine initialer"
    DoCmd.GoToControl "init"
    Exit Sub
End If
....

Jeg tager selv de fleste af pointene, men giver lidt for inspirationen :o)

/hekla
19. februar 2003 - 22:52 #8
hmmm....mind mig lige om, at jeg næste gang ikke skal ulejlige mig med at hjælpe dig!
7 ud af dine spørgsmål er endt med at du selv har taget en stor del af pointene igen.

Det kan godt være, at du ikke lige har fået det svar, som du ønskede, men af og til er det med til at lede én på rette vej alligevel.
Folk kaster jo tid og energi i at hjælpe dig.

Og hvad betyder det om du skulle give mig og Mugs 15 point ekstra til deling. Ikke at jeg som sådan behøver dem, men du ville på den anden side heller ikke ligefrem mangle dem.

Det var blot min mening...

/Thomas
Avatar billede hekla Nybegynder
19. februar 2003 - 23:20 #9
Det er ikke noget problem for mig at dele pointene ud, og jeg opretter et spørgsmål for at give jer de sidste 15p.
Jeg gav mig selv de fleste af pointene,fordi jeg selv fandt en brugbar løsning på problemet.

/hekla
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