Avatar billede tni Juniormester
03. juni 2003 - 17:33 Der er 16 kommentarer og
2 løsninger

Tvunget indtastning i flere tekstfelter i formular

hej..

Jeg har en formular med 6 stk txtfelter

txtdato1 til txtdato6

Når cbobestilling er lig 2 må man ikke kunne trykke på cmdudskriv når txtdato1, txtdato5 txtdato6 er null

Når cbobestilling er lig 1 må man ikke kunne trykke på cmdudskriv når txtdato3, txtdato4 txtdato6 er null

Når cbobestilling er lig 4 må man ikke kunne trykke på cmdudskriv når txtdato2, txtdato3 txtdato4 er null

hvordan gør man det uden at drukne i if'er then else
Avatar billede bennybangkarl Nybegynder
03. juni 2003 - 17:41 #1
jeg vil jo nok tro, at der kun er én måde:

nemmerlig - if og else!

/Benjamin
Avatar billede henrik13 Nybegynder
03. juni 2003 - 18:01 #2
Du skal bruge if. Her er koden:
If DCount("cbobestilling") = 2 Then
cmdudskriv.Enable = true
End if

Når cbobestilling er lig 2 må man ikke kunne trykke på cmdudskriv når txtdato1, txtdato5 txtdato6 er null
Avatar billede tni Juniormester
03. juni 2003 - 18:15 #3
Ok

Hvad jeg ikke fik fortalt var at der skulle komme en msgbox "Der mangler at blive indtastei i den der mangler" :-9
Avatar billede mugs Novice
03. juni 2003 - 18:19 #4
Uening med Henrik13, som taler om at tælle antal poster i tabellen hvor indholdet i cbobestilling er = 2. Jeg opfatter spørgsmålet således at indholdet i cbobestilling i den aktuelle post skal være = 2 hvis betingelsen skal være opfyldt. Har lavet en lille testdb, hvor koden i cbobestilling ser således ud:

If IsNull(Me.txtbox1 And Me.txtbox5 And Me.txtbox6) And Me.cbobestilling = 2 Then
Me.cboudskriv.Visible = False
Else:
Me.cboudskriv.Visible = True
End If

If IsNull(Me.txtbox3 And Me.txtbox4 And Me.txtbox6) And Me.cbobestilling = 1 Then
Me.cboudskriv.Visible = False
Else:
Me.cboudskriv.Visible = True
End If

Så er det kun at copy and paste koden og ændre feltnavnene. Det er såmænd ikke så indviklet. Kan sende hvis du vil. Blot læg din e-mail

If IsNull(Me.txtbox2 And Me.txtbox3 And Me.txtbox4) And Me.cbobestilling = 4 Then
Me.cboudskriv.Visible = False
Else:
Me.cboudskriv.Visible = True
End If
Avatar billede mugs Novice
03. juni 2003 - 18:20 #5
If IsNull(Me.txtbox1 And Me.txtbox5 And Me.txtbox6) And Me.cbobestilling = 2 Then
Me.cboudskriv.Visible = False
MsgBox " Der mangler at blive indtastet i eet eller flere felter."
Else:
Me.cboudskriv.Visible = True
End If
Avatar billede henrik13 Nybegynder
03. juni 2003 - 18:21 #6
>mugs
Han ville ikke havde nogle If Else sætninger, derfor brugte jeg en ren if sætning.
Avatar billede tni Juniormester
03. juni 2003 - 18:22 #7
Ja det er også det jeg tænkte på da jeg kørte hjem, men jeg ville jo gerne være venlig og fortække brugeren hvilken een der mangler at blive udfyldt.
kan du klare det?

mvh TNI
Avatar billede tni Juniormester
03. juni 2003 - 18:24 #8
Den her er god nok

If IsNull(Me.txtbox1 And Me.txtbox5 And Me.txtbox6)

Nu skal vi lige have servicen at fortælle hvilken en der mangler

PS. I er godt nok hurtige idag. Jeg er et skærmbillede bag efter :-)

mvh TNI
Avatar billede mugs Novice
03. juni 2003 - 18:25 #9
henrik13 Det er jo ligegyldig, din kode tæller antal felter hvor cboudskrivning er = 2
Avatar billede terry Ekspert
03. juni 2003 - 18:28 #10
In the combo boxes (cbobestilling) after update event you can do something like this


cmdudskriv.enabled = True


SELECT Case Me.cbobestilling

Case 1
  If Isnull(me.txtdato3) and Isnull(me.txtdato4) and Isnull(me.txtdato6) Then
    cmdudskriv.enabled = false
  else
    msgbox .....

  end if

Case 2
  If Isnull(me.txtdato1) and Isnull(me.txtdato5) and Isnull(me.txtdato6) Then
    cmdudskriv.enabled = false
  else
    msgbox .....
  end if

Case 4
  If Isnull(me.txtdato2) and Isnull(me.txtdato3) and Isnull(me.txtdato4) Then
    cmdudskriv.enabled = false
  else
    msgbox .....

  end if

Case else

end select
Avatar billede terry Ekspert
03. juni 2003 - 18:32 #11
Oops drop the else msgbox... If I understand the question correctly you now need to find which box(es) are empty. I would suggest something like jst telling the user

msgbox "You MUST enter values in box 3, 4 and 6"
Avatar billede terry Ekspert
03. juni 2003 - 18:33 #12
Users arent blind, and there are only three boxes in each case :o)
Avatar billede tni Juniormester
03. juni 2003 - 18:33 #13
Det er den "Case" jeg søgte.

Jeg druknede i if'er og end if

Nu skal jeg bare tilpasse den.

Jeg takker I er super

PS jeg fordeler pointene lidt. Håber i føler det retferdigt :-)
Avatar billede terry Ekspert
03. juni 2003 - 18:37 #14
no problems here, mugs and henrik need them :o)
Avatar billede henrik13 Nybegynder
03. juni 2003 - 18:40 #15
>>terry
Der tager du fejl. Jeg fik ikke noget.
Vh Henrik
Avatar billede terry Ekspert
03. juni 2003 - 18:41 #16
:o( do you want a few?
Avatar billede henrik13 Nybegynder
03. juni 2003 - 21:01 #17
>>terry  Nej tak, du leverede den eneste brugbare løsning, så du har fortjent dem alle.  :o)
Avatar billede terry Ekspert
04. juni 2003 - 19:58 #18
: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