OVH Cloud OVH Cloud

vb inputbox

12 réponses
Avatar
heidy
bonjour à tous,
voila je fais un programme sur vb et j'ai des inputbox, le problème est que
dans le inputbox, il y a 2 boutons, ok et annuler, mais quand j'appuis sur
annuler ça continue quand même, moi j'aimerai que ça arrête le module.
merci d'avance
--
heidy

10 réponses

1 2
Avatar
Jessy Sempere [MVP]
Bonjour

Je suppose que tu socks dans une variable le résultat de ton inputbox, genre
:

dim strResutl as string

strresult = inputbox (...)

Il te suffit de faire après chaque inputbox un test pour vérifier la valeur
de ta variable :

if strresult = "" then exit function

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"heidy" a écrit dans le message news:

bonjour à tous,
voila je fais un programme sur vb et j'ai des inputbox, le problème est
que

dans le inputbox, il y a 2 boutons, ok et annuler, mais quand j'appuis sur
annuler ça continue quand même, moi j'aimerai que ça arrête le module.
merci d'avance
--
heidy


Avatar
heidy
bonjour Jessy,
oui je les stock dans des variables et j'ai déjà fait ce test pour vérifier
la valeur mais moi je la vérifie et si c'est null alors je repose la
question.
ce n'est pas possible que quand on appuis sur annuler avec le inputbox alors
ça ferme le module?

--
heidy



Bonjour

Je suppose que tu socks dans une variable le résultat de ton inputbox, genre
:

dim strResutl as string

strresult = inputbox (...)

Il te suffit de faire après chaque inputbox un test pour vérifier la valeur
de ta variable :

if strresult = "" then exit function

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"heidy" a écrit dans le message news:

bonjour à tous,
voila je fais un programme sur vb et j'ai des inputbox, le problème est
que

dans le inputbox, il y a 2 boutons, ok et annuler, mais quand j'appuis sur
annuler ça continue quand même, moi j'aimerai que ça arrête le module.
merci d'avance
--
heidy







Avatar
Jessy Sempere [MVP]
Re,

Oui je crois comprendre, si on click sur OK mais qu'il retourne "rien",
tu veux reposer la question, par contre si on click sur Annuler, tu veux
arrêter la procédure...

Le problème c'est que dans les 2 cas, tu obtiens une valeur "" et tu n'as
rien pour déterminer le bouton clicker...

Désolé, mais c'est vrai que je ne vois pas trop comment t'aider.

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"heidy" a écrit dans le message news:

bonjour Jessy,
oui je les stock dans des variables et j'ai déjà fait ce test pour
vérifier

la valeur mais moi je la vérifie et si c'est null alors je repose la
question.
ce n'est pas possible que quand on appuis sur annuler avec le inputbox
alors

ça ferme le module?

--
heidy



Bonjour

Je suppose que tu socks dans une variable le résultat de ton inputbox,
genre


:

dim strResutl as string

strresult = inputbox (...)

Il te suffit de faire après chaque inputbox un test pour vérifier la
valeur


de ta variable :

if strresult = "" then exit function

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"heidy" a écrit dans le message news:

bonjour à tous,
voila je fais un programme sur vb et j'ai des inputbox, le problème
est



que
dans le inputbox, il y a 2 boutons, ok et annuler, mais quand j'appuis
sur



annuler ça continue quand même, moi j'aimerai que ça arrête le module.
merci d'avance
--
heidy









Avatar
Gafish
Jessy Sempere [MVP] wrote:
Re,

Oui je crois comprendre, si on click sur OK mais qu'il retourne
"rien", tu veux reposer la question, par contre si on click sur
Annuler, tu veux arrêter la procédure...

Le problème c'est que dans les 2 cas, tu obtiens une valeur "" et tu
n'as rien pour déterminer le bouton clicker...

Désolé, mais c'est vrai que je ne vois pas trop comment t'aider.




Dans ce cas là passer par un petit formulaire ?
Ou alors passer une valeur par défaut dans l'inputbox qui serait un espace,
ainsi le ok ne renverrait pas une chaine vide mais un espace, mais c'est du
bricolage :)

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
heidy
non ça change rien car l'espace c'est comme null, et donc il me repose la
question.
on ne peut pas faire comme le msgbox? :
if msgbox("message",vbokcancel) <>ok then
docmd.cancelevent
exit sub
end if

j'ai essayé de faire la même chose pour le inputbox, mais ça ne marche pas!!!

--
heidy



Jessy Sempere [MVP] wrote:
Re,

Oui je crois comprendre, si on click sur OK mais qu'il retourne
"rien", tu veux reposer la question, par contre si on click sur
Annuler, tu veux arrêter la procédure...

Le problème c'est que dans les 2 cas, tu obtiens une valeur "" et tu
n'as rien pour déterminer le bouton clicker...

Désolé, mais c'est vrai que je ne vois pas trop comment t'aider.




Dans ce cas là passer par un petit formulaire ?
Ou alors passer une valeur par défaut dans l'inputbox qui serait un espace,
ainsi le ok ne renverrait pas une chaine vide mais un espace, mais c'est du
bricolage :)

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Gafish
heidy wrote:
non ça change rien car l'espace c'est comme null, et donc il me
repose la question.
on ne peut pas faire comme le msgbox? :
if msgbox("message",vbokcancel) <>ok then


Ben non, on peut pas c'est bien là le problème.
A la limite, tu peux mettre par exemple "<Valeur>" comme valeur par défaut.
Quand tu arrives sur le inputbox, c'est en surbrillance, si on saisit de
suite ca efface le contenu, donc ca ne gêne pas la saisie, et dans ton
retour, tu pourras tester si la valeur de retour, si c'est "<Valeur>" tu
remets le inputbox, si c'est "" tu sors. Après il y a aura toujours le cas
où il efface et fait ok, mais ce sera rare.
Sinon tu fais un formulaire pour demander la saisie et là tu peux tout
contrôler.

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
heidy
merci aussi à Jessy
--
heidy



heidy wrote:
non ça change rien car l'espace c'est comme null, et donc il me
repose la question.
on ne peut pas faire comme le msgbox? :
if msgbox("message",vbokcancel) <>ok then


Ben non, on peut pas c'est bien là le problème.
A la limite, tu peux mettre par exemple "<Valeur>" comme valeur par défaut.
Quand tu arrives sur le inputbox, c'est en surbrillance, si on saisit de
suite ca efface le contenu, donc ca ne gêne pas la saisie, et dans ton
retour, tu pourras tester si la valeur de retour, si c'est "<Valeur>" tu
remets le inputbox, si c'est "" tu sors. Après il y a aura toujours le cas
où il efface et fait ok, mais ce sera rare.
Sinon tu fais un formulaire pour demander la saisie et là tu peux tout
contrôler.

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
heidy
merci Arnaud d'avoir répondu,
ou sinon je vais mettre des messages de temps en temps en demandant si
l'utilisateur veut continuer.
a +
--
heidy



heidy wrote:
non ça change rien car l'espace c'est comme null, et donc il me
repose la question.
on ne peut pas faire comme le msgbox? :
if msgbox("message",vbokcancel) <>ok then


Ben non, on peut pas c'est bien là le problème.
A la limite, tu peux mettre par exemple "<Valeur>" comme valeur par défaut.
Quand tu arrives sur le inputbox, c'est en surbrillance, si on saisit de
suite ca efface le contenu, donc ca ne gêne pas la saisie, et dans ton
retour, tu pourras tester si la valeur de retour, si c'est "<Valeur>" tu
remets le inputbox, si c'est "" tu sors. Après il y a aura toujours le cas
où il efface et fait ok, mais ce sera rare.
Sinon tu fais un formulaire pour demander la saisie et là tu peux tout
contrôler.

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Eric
Bonjour Heidy,

Oui, il existe un moyen de connaitre le bouton sur lequel tu as cliqué
pour une InputBox :
Rien de saisi et click sur Ok VS click sur Annuler qu'une saisie est eu
lieu ou non.

Voila le code qui permet d'identifier le bouton cliké, hihi ;-)

Source : http://vbnet.mvps.org/index.html?code/helpers/inputbox.htm

Un formulaire avec un bouton Commande0 et la procédure évènementielle
sur Click du bouton.

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Copyright ©1996-2005 VBnet, Randy Birch, All Rights Reserved.
' Some pages may also contain other copyrights by the author.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Distribution: You can freely use this code in your own
' applications, but you may not reproduce
' or publish this code on any web site,
' online service, or distribute as source
' on any media without express permission.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub Commande0_Click()

Dim sInput As String

sInput = InputBox("Go ahead ... abuse me", _
"Dreaded InputBox Demo", _
"Some default text goes here")

If StrPtr(sInput) = 0 Then

MsgBox "Cancel was pressed"

Else

If Len(sInput) = 0 Then
MsgBox "OK pressed but nothing entered."
Else
MsgBox "OK pressed: value= " & sInput
End If 'Len(sInput)

End If 'StrPtr

End Sub

Dans ton cas, à la place de MsgBox "Cancel was pressed" tu mets Exit Sub

Testé sous Acess2000.

A toi de jouer maintenant ;-)

bonjour à tous,
voila je fais un programme sur vb et j'ai des inputbox, le problème est que
dans le inputbox, il y a 2 boutons, ok et annuler, mais quand j'appuis sur
annuler ça continue quand même, moi j'aimerai que ça arrête le module.
merci d'avance


--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...

Je n'avais pas bien lu la note de diffusion :( mais bon ayant mis toutes
les sources, j'espère que les auteurs ne m'en voudront pas trop.
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
1 2