Probleem bij Inputbox

Status
Niet open voor verdere reacties.

mulderm

Gebruiker
Lid geworden
2 jul 2004
Berichten
167
Hallo,

Ik heb de volgende code:

sub test
On Error Goto foutafhandeling
Dim waarde as integer

waarde = inputbox("Geef een waarde")
msgbox waarde
exit sub

foutafhandeling:
msgbox"U moet een waarde invullen"
resume
end sub


Als ik deze Run, en ik vul niks in en druk op Ok dan
wordt er netjes gevraagd om een waarde in te vullen.
Probleem is dat zodra ik op cancel druk deze melding weer terug komt.
Maar dat wil ik niet, als ik op cancel druk dan moet het
programma afgesloten worden.
Hoe moet ik dit programmeren?

Groeten,

mulderm
 
je moet resume onderaan weghalen (boven end sub)
en dit neerzetten op die plek

DoCmd.Quit acQuitPrompt

krijg je zoiets:

sub test
On Error Goto foutafhandeling
Dim waarde as integer

waarde = inputbox("Geef een waarde")
msgbox waarde
exit sub

foutafhandeling:
msgbox"U moet een waarde invullen"
DoCmd.Quit acQuitPrompt
end sub
 
Laatst bewerkt:
bultje 21,

Werkt niet goed.
Als ik niks invul en klik op Ok komt de vraag wel
terug, maar Access wordt meteen afgesloten en
dat is de bedoeling niet.
Het subje moet alleen afgesloten worden.
Hetzelfde gebeurt bij de cancel-knop.

mulderm
 
ik dacht heel acces
omdat je zei het programma
dan moet je die die regel van docmd.Quit weghalen
 
Hai, :D

Je wilt dus persé dat men die inputbox vult met een numerieke waarde? (Waarde as Integer)

Dan moet je dus gewoon net zolang loopen totdat men zo'n waarde heeft ingevuldt.

Cancel bij Inputbox geeft altijd "" terug en dit is een string waarde dus moet je wel even Waarde declareren als String..En vervolgens testen op Numerieke inhoud..

Zo bijvoorbeeld:
Code:
Sub Test()
Dim waarde As String

 Do
    waarde = InputBox("Geef een numerieke waarde")
 Loop Until IsNumeric(waarde) = True
 
    MsgBox waarde
End Sub
Succes! :thumb:
 
* nu we het toch hier over vb hebben *

is er een mogelijk om net als in php een != te gebruiken of iets wat je ervoor kan gebruiken?
 
Hai, :D

Hebben we het dan over VB dan?...dacht zelf dat ik het over VBA had..;) (maar goed code draait overigens in beide talen hoor)

Hoe bedoel jij die vraag over de "vergelijkingsoperator" (!= is niet gelijk aan) in Java & php?

See Yah! :thumb:
 
Geplaatst door beheer25
!= in php is <> in VB(A)


Grtz,
Hai Mark, ;D

Dat spreekt voor zich maar ik snap de relatie tot deze vraag niet?

Daar zal Bultje nog wel op terugkomen vermoed ik..;)
 
Joost,

Ik wil juist als je op cancel drukt, dat het scherm
verdwijnt en dus het subje wordt afgesloten.
Niet om netzolang door te gaan totdat er een numerieke
waarde ingevuld wordt.

mulderm
 
dan moet je dit gebruiken:

sub test
On Error Goto foutafhandeling
Dim waarde as integer

waarde = inputbox("Geef een waarde")
msgbox waarde
exit sub

foutafhandeling:
msgbox"U moet een waarde invullen"
end sub

(getest in accesomgeving)
******************
Geplaatst door beheer25
!= in php is <> in VB(A)


Grtz,
Danku, kan ik weer verder...
 
Laatst bewerkt:
Geplaatst door mulderm
Joost,

Ik wil juist als je op cancel drukt, dat het scherm
verdwijnt en dus het subje wordt afgesloten.
Niet om netzolang door te gaan totdat er een numerieke
waarde ingevuld wordt.

mulderm
Hai, :D

Dan heb ik inderdaad jou vraag verkeerd begrepen..maar zie dat je er nu uit bent...

Das mooi! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan