Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/05/2011, 11h28   #1
Invité de passage
 
Homme Jimmy
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Jimmy
Localisation : France, Doubs (Franche Comté)

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 1
Points : 1
Par défaut Action après msgbox

Bonjour,

Une question simple à laquelle je n'ai pas trouvé la réponse sur les forums. Peut être ai-je mal cherché ?

Comment effectuer une action après une msgbox ?

J'ai un formulaire de saisie de devis, un autre pour la saisie de facture.

Lorsque l'on ouvre la saisie de facture, si le devis n'a pas été rempli au préalable, la saisie de facture est impossible :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Form_Load()
DoCmd.MoveSize 4000, 1000, 12700, 7000
 
If IsNull(Me.zt_devis_mt.Value) Then
MsgBox "Cette intervention ne comporte pas de devis, impossible d'y enregistrer une facture", vbExclamation, "Saisie impossible"
 
DoCmd.Close
 
Me.b_annul.Enabled = True
Me.b_valid.Enabled = True
 
End If
 
End Sub
Mais le formulaire de facture ne se ferme pas.

Comment lui demander de fermer le formulaire en fonction de la réponse OK de la msgbox ?
jimmy25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 11h52   #2
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 895
Points : 3 895
salut jimmy25 et bienvenu,

selon le type Me.zt_devis_mt.Value il est possible que la condition ne soit pas rempli.
teste avec isEmpty ou =""

pour conditionner avec le msgbox tu trouveras les informations nécessaire avec un exemple avec ton ami <F1>

vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 11h58   #3
Invité de passage
 
Homme Jimmy
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Jimmy
Localisation : France, Doubs (Franche Comté)

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 1
Points : 1
Par défaut Toujours les solutions les plus simples....

Merci pour ton aide.
J'ai fait le tour de l'aide F1 avant de poser ma question sur le forum, mais je n'ai pas réussi à en exploiter les résultats.

Par contre, j'ai trouvé une réponse simple : c'est l'ordre des arguments qui ne collait pas. Une petite pause m'a inspiré :

1 Docmd.close
2 Msgbox

Et là, inutile de se demander quel est le résultat de la msgbox puisque l'action a déjà eu lieu !
jimmy25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 12h10   #4
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 895
Points : 3 895
je te redonnes l'exemple de mon copain <F1> qui semble plus prolixe que le tien
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
 
Msg = "Do you want to continue?"
Style = vbYesNo + vbCritical + vbDefaultButton2    
Title = "MsgBox Demonstration" 
Help = "DEMO.HLP"
Ctxt = 1000
 
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
 
If Response = vbYes Then    ' User chose Yes.
    MyString = "Yes"    ' Perform some action.
Else    ' User chose No.
    MyString = "No"    ' Perform some action.
End If
des fois que tu changes d'avis...
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h03.


 
 
 
 
Partenaires

Hébergement Web