Msgbox conditionnées
Résolu/Fermé
damien_phenix
Messages postés
15
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
10 juillet 2009
-
22 déc. 2008 à 17:46
damien_phenix Messages postés 15 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 10 juillet 2009 - 21 janv. 2009 à 11:39
damien_phenix Messages postés 15 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 10 juillet 2009 - 21 janv. 2009 à 11:39
A voir également:
- Msgbox conditionnées
- Vba msgbox bouton personnalisé ✓ - Forum Excel
- Php msgbox ✓ - Forum PHP
- Msgbox vba variable - Forum VB / VBA
- Vba msgbox variable ✓ - Forum VB / VBA
- Vba msgbox avec saisie - Forum VB / VBA
10 réponses
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
22 déc. 2008 à 21:01
22 déc. 2008 à 21:01
Salut
un bouton renvoie sa valeur 0 ou 1 (false ou true) dans sa propriété value
'Tu travaille avec 3 bouton 1, 2, 3
'Tu leurs mets des coefs
'n° 1 enfoncé --> 1
'n° 2 enfoncé --> 10
'n° 3 enfoncé --> 100
'n° 1,2 enfoncé --> 11
'n° 2,3 enfoncé --> 110
'n° 1,3 enfoncé --> 101
'n° 1,2,3 enfoncé --> 111
Exemple
[code]
calcul = 1 * Check1(0).Value + 10 * Check1(1).Value + 100 * Check1(2).Value
'Après il te reste jusque à faire un select case sur le résultat
Select Case calcul
Case 1
MsgBox ("toto")
Case 10
MsgBox ("titi")
Case 100
'etc...
Case 11
Case 110
MsgBox ("tata")
Case 101
Case 111
End Select
[\code]
Et voilà tu peux affecter n'importe quels coefs mais attention à la possibilité de doublon
Bon courage
un bouton renvoie sa valeur 0 ou 1 (false ou true) dans sa propriété value
'Tu travaille avec 3 bouton 1, 2, 3
'Tu leurs mets des coefs
'n° 1 enfoncé --> 1
'n° 2 enfoncé --> 10
'n° 3 enfoncé --> 100
'n° 1,2 enfoncé --> 11
'n° 2,3 enfoncé --> 110
'n° 1,3 enfoncé --> 101
'n° 1,2,3 enfoncé --> 111
Exemple
[code]
calcul = 1 * Check1(0).Value + 10 * Check1(1).Value + 100 * Check1(2).Value
'Après il te reste jusque à faire un select case sur le résultat
Select Case calcul
Case 1
MsgBox ("toto")
Case 10
MsgBox ("titi")
Case 100
'etc...
Case 11
Case 110
MsgBox ("tata")
Case 101
Case 111
End Select
[\code]
Et voilà tu peux affecter n'importe quels coefs mais attention à la possibilité de doublon
Bon courage
damien_phenix
Messages postés
15
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
10 juillet 2009
23 déc. 2008 à 09:05
23 déc. 2008 à 09:05
Merci beaucoup, je vais essayé tout cela.
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
23 déc. 2008 à 12:25
23 déc. 2008 à 12:25
salut
Oui calcul est la variable pour le calcul des coefs, tu peux la déclarer en integer
Que les cases à cocher soit ailleurs n'est pas grave tant que tu sais où elles sont
pour avoir leur valeur <endroit>.check.value
Je vois pas bien l'histoire de tes cases avec les msgbox ? en même temps ? comment tu commences ta première msgbox (vu qu'on a pas encore de cases) ?
check1(0), check1(1), check1(2) sont les noms de mes trois cases à cocher réunies dans un même groupe de contrôle, en fait je suis faineant quand je fais ma première case je fais un ctrl-c dessus puis ctrl-v pour en copier deux autres et là elles se llient toutes seules si on accepte le groupe.
Sinon tu peux en créer trois différentes casetoto, casetiti, casetata et d'avoir les noms pour changer la formule de calcul
A plus
Oui calcul est la variable pour le calcul des coefs, tu peux la déclarer en integer
Que les cases à cocher soit ailleurs n'est pas grave tant que tu sais où elles sont
pour avoir leur valeur <endroit>.check.value
Je vois pas bien l'histoire de tes cases avec les msgbox ? en même temps ? comment tu commences ta première msgbox (vu qu'on a pas encore de cases) ?
check1(0), check1(1), check1(2) sont les noms de mes trois cases à cocher réunies dans un même groupe de contrôle, en fait je suis faineant quand je fais ma première case je fais un ctrl-c dessus puis ctrl-v pour en copier deux autres et là elles se llient toutes seules si on accepte le groupe.
Sinon tu peux en créer trois différentes casetoto, casetiti, casetata et d'avoir les noms pour changer la formule de calcul
A plus
damien_phenix
Messages postés
15
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
10 juillet 2009
23 déc. 2008 à 15:04
23 déc. 2008 à 15:04
Salut,
En fait les cases à cocher sont déjà renseigner sur un autre formulaire. Elles sont mémorisées dans 3 tables différentes.
En théorie j'aimerais que lorsque mon sous-formulaire s'ouvre, l'état des cases à cocher soit consulter, et du résultat de cette consultation dépend le contenu de ma msgbox.
Exemple : case_à_cocher1 cochée, case_à_cocher2 non cochée et case_à_cocher3 non coché => message1
case_à_cocher1 cochée, case_à_cocher2 cochée et case_à_cocher3 non coché => message2
etc...
Par contre j'ai un doute quand à l'emplacement de ce code. A l'heure actuelle je le place dans le sous-formulaire qui doit s'ouvrir en même temps que mes msgbox, ceci est correcte ou un autre emplacement serait plus judicieux?
Voici le morceau de code que j'ai fait d'après les explications que tu m'as donné et mes très maigres connaissances en VB :
(A savoir : Formulaire, Maintenance et Societe sont trois tables dans lesquelles se trouvent les cases à cocher nommées : Aucune_formation, Pas_acces_hotline et Impaye.
'début du code
'Form_Load() pour que ce code s'effectue à l'ouverture du sous-formulaire
Private Sub Form_Load()
'déclaration de la variable calcul
Dim calcul As Integer
'ligne de calcul avec les coefs.
calcul = (1 * [Formation].Aucune_formation.Value) + (10 * [Maintenance].Pas_acces_hotline.Value) + (100 * [Societe].Impaye.Value)
'début du morceau de code que tu m'as donné
Select Case calcul
Case 1
MsgBox "Client non formé" + vbCritical, "Attention"
Case 10
MsgBox "Pas d'accès hotline", vbOKOnly + vbCritical, "Attention"
Case 100
MsgBox "Impayé", vbOKOnly + vbCritical, "Attention"
Case 11
MsgBox "Client non formé" & vbNewLine & "Pas d'acces hotline", vbOKOnly + vbCritical, "Attention"
Case 101
MsgBox "Client non formé" & vbNewLine & "Impayé", vbOKOnly + vbCritical, "Attention"
Case 110
MsgBox "Pas d'accès hotline" & vbNewLine & "Impayé", vbOKOnly + vbCritical, "Attention"
Case 111
MsgBox "Client non formé" & vbNewLine & "Pas d'accès hotline" & vbNewLine & "Impayé", vbOKOnly + vbCritical, "Attention"
End Select
End Sub
'fin du code
Merci d'avance
En fait les cases à cocher sont déjà renseigner sur un autre formulaire. Elles sont mémorisées dans 3 tables différentes.
En théorie j'aimerais que lorsque mon sous-formulaire s'ouvre, l'état des cases à cocher soit consulter, et du résultat de cette consultation dépend le contenu de ma msgbox.
Exemple : case_à_cocher1 cochée, case_à_cocher2 non cochée et case_à_cocher3 non coché => message1
case_à_cocher1 cochée, case_à_cocher2 cochée et case_à_cocher3 non coché => message2
etc...
Par contre j'ai un doute quand à l'emplacement de ce code. A l'heure actuelle je le place dans le sous-formulaire qui doit s'ouvrir en même temps que mes msgbox, ceci est correcte ou un autre emplacement serait plus judicieux?
Voici le morceau de code que j'ai fait d'après les explications que tu m'as donné et mes très maigres connaissances en VB :
(A savoir : Formulaire, Maintenance et Societe sont trois tables dans lesquelles se trouvent les cases à cocher nommées : Aucune_formation, Pas_acces_hotline et Impaye.
'début du code
'Form_Load() pour que ce code s'effectue à l'ouverture du sous-formulaire
Private Sub Form_Load()
'déclaration de la variable calcul
Dim calcul As Integer
'ligne de calcul avec les coefs.
calcul = (1 * [Formation].Aucune_formation.Value) + (10 * [Maintenance].Pas_acces_hotline.Value) + (100 * [Societe].Impaye.Value)
'début du morceau de code que tu m'as donné
Select Case calcul
Case 1
MsgBox "Client non formé" + vbCritical, "Attention"
Case 10
MsgBox "Pas d'accès hotline", vbOKOnly + vbCritical, "Attention"
Case 100
MsgBox "Impayé", vbOKOnly + vbCritical, "Attention"
Case 11
MsgBox "Client non formé" & vbNewLine & "Pas d'acces hotline", vbOKOnly + vbCritical, "Attention"
Case 101
MsgBox "Client non formé" & vbNewLine & "Impayé", vbOKOnly + vbCritical, "Attention"
Case 110
MsgBox "Pas d'accès hotline" & vbNewLine & "Impayé", vbOKOnly + vbCritical, "Attention"
Case 111
MsgBox "Client non formé" & vbNewLine & "Pas d'accès hotline" & vbNewLine & "Impayé", vbOKOnly + vbCritical, "Attention"
End Select
End Sub
'fin du code
Merci d'avance
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
23 déc. 2008 à 22:02
23 déc. 2008 à 22:02
Oui pour ce que tu veux faire tu teste au bon endroit.
Logique juste avant l'affichage, dis-moi si ça fonctionne on améliorera le code après afin qu'il soit un peu plus propre et surtout lisible pour d'autres personnes.
Pensée du soir : toujours penser au suivant, pauvre malheureux qui prendra notre place un jour !
Salut
Logique juste avant l'affichage, dis-moi si ça fonctionne on améliorera le code après afin qu'il soit un peu plus propre et surtout lisible pour d'autres personnes.
Pensée du soir : toujours penser au suivant, pauvre malheureux qui prendra notre place un jour !
Salut
damien_phenix
Messages postés
15
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
10 juillet 2009
24 déc. 2008 à 09:53
24 déc. 2008 à 09:53
Bonjour,
Malheureusement ce code ne fonctionne pas, lorsque j'éssaie d'ouvrir le sous-formulaire concerné une erreur apparaît. Voici le message d'erreur :
Erreur d'exécution '2465' :
Impossible de trouver le champ '|' auquel il est fait référence dans votre expression.
Sur la fenêtre d'erreur il apparait 2 boutons :
Fin : rien ne se passe lorsque je clique dessus
Débogage : lorsque je clique sur ce bouton la ligne de code suivante est surlignée en jaune :
calcul = (1 * [Formation].Aucune_formation.Value) + (10 * [Maintenance].Pas_acces_hotline.Value) + (100 * [Societe].Impaye.Value)
Après recherche sur internet concernant ce message d'erreur, j'ai modifié le "Private Sub" en "Public Sub" mais le message d'erreur persiste.
Après nouvelle recherche sur internet, j'ai trouvé comme solution que ce message d'erreur apparaît car je fais référence à des tables (Formation, Mainenance et Socièté) alors que mon sous formulaire est construit sur une requête.
J'ai alors modifié mon code pour faire référence à ma requête en remplaçant le nom de mes tables entre "[ ]" par celui de ma requête :
-En "Public Sub" le message d'erreur persiste
-En "Private Sub" plus de message d'erreur, mais aucune msgbox n'apparaît.
Peux-tu m'éclairer sur ce problème?
Je ne sais pas si ça peux être utile à la résolution de mon problème mais mon sous-formulaire se nomme Sousform_fiche_client.
Ne devrais-je pas mettre en début de code :
"Private Sub Sousform_fiche_client_Beforeupdate ()" plutôt que "Private Sub Form_Load ()"?
Est-ce que le fait que le code des msgbox se trouve au début ou en fin de ma page de code a une importance?
Merci encore de passer du temps à m'aider.
P.S.: Pour que le code soit compréhensible par un autre utilisateur je comptais mettre des commentaires, mais si tu as des astuces pour le simplifier je suis preneur.
Encore merci.
Malheureusement ce code ne fonctionne pas, lorsque j'éssaie d'ouvrir le sous-formulaire concerné une erreur apparaît. Voici le message d'erreur :
Erreur d'exécution '2465' :
Impossible de trouver le champ '|' auquel il est fait référence dans votre expression.
Sur la fenêtre d'erreur il apparait 2 boutons :
Fin : rien ne se passe lorsque je clique dessus
Débogage : lorsque je clique sur ce bouton la ligne de code suivante est surlignée en jaune :
calcul = (1 * [Formation].Aucune_formation.Value) + (10 * [Maintenance].Pas_acces_hotline.Value) + (100 * [Societe].Impaye.Value)
Après recherche sur internet concernant ce message d'erreur, j'ai modifié le "Private Sub" en "Public Sub" mais le message d'erreur persiste.
Après nouvelle recherche sur internet, j'ai trouvé comme solution que ce message d'erreur apparaît car je fais référence à des tables (Formation, Mainenance et Socièté) alors que mon sous formulaire est construit sur une requête.
J'ai alors modifié mon code pour faire référence à ma requête en remplaçant le nom de mes tables entre "[ ]" par celui de ma requête :
-En "Public Sub" le message d'erreur persiste
-En "Private Sub" plus de message d'erreur, mais aucune msgbox n'apparaît.
Peux-tu m'éclairer sur ce problème?
Je ne sais pas si ça peux être utile à la résolution de mon problème mais mon sous-formulaire se nomme Sousform_fiche_client.
Ne devrais-je pas mettre en début de code :
"Private Sub Sousform_fiche_client_Beforeupdate ()" plutôt que "Private Sub Form_Load ()"?
Est-ce que le fait que le code des msgbox se trouve au début ou en fin de ma page de code a une importance?
Merci encore de passer du temps à m'aider.
P.S.: Pour que le code soit compréhensible par un autre utilisateur je comptais mettre des commentaires, mais si tu as des astuces pour le simplifier je suis preneur.
Encore merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
24 déc. 2008 à 18:33
24 déc. 2008 à 18:33
Je vois pa bien le soucis car je ne travaille jamais sous access en direct, je travaille toujours sous vb même pour accéder à des tables access, ce qui fait que je travaille toujours avec les formes de mon projet (pout te dire je n'ai jamais essayé de faire un formulaire sous access !)
Par contre ce qui est sur c'est que si tu travaille avec Sousform_fiche_client ce n'est pas Private Sub Form_Load() que tu dois coder mais plutôt private sub Sousform_fiche_client_load()
De plus dans tes formulaires essaie de trouver les propriétés de tes boutons, il sont forcement attachés aux différents formulaires. En vb sa valeur ressemblerait à un truc du style Form1.check1.value où que l'on soit dans le projet pour un bouton dans Form1, sous access ça doit être pareil.
Bon ce soir c'est le reveillon, demain je ne suis pas là, mais je vais essayez de créer un formulaire sous access et on en reparle demain soir ou vendredi.
Joyeux noël.
Par contre ce qui est sur c'est que si tu travaille avec Sousform_fiche_client ce n'est pas Private Sub Form_Load() que tu dois coder mais plutôt private sub Sousform_fiche_client_load()
De plus dans tes formulaires essaie de trouver les propriétés de tes boutons, il sont forcement attachés aux différents formulaires. En vb sa valeur ressemblerait à un truc du style Form1.check1.value où que l'on soit dans le projet pour un bouton dans Form1, sous access ça doit être pareil.
Bon ce soir c'est le reveillon, demain je ne suis pas là, mais je vais essayez de créer un formulaire sous access et on en reparle demain soir ou vendredi.
Joyeux noël.
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
24 déc. 2008 à 20:19
24 déc. 2008 à 20:19
Oubli mon message de tout à l'heure j'ai réusssi, je me depeche ma femme hurle pour que l'on parte manger mais bon on est pas à cinq minutes (mariez-vous qu'il disait !!!)
Je resume, on adaptera après
1. j'ai créer trois formulaires : formu1, formu2, form3
2. j'ai mis une case à cocher dans chacun d'eux
form1 --> case1
form2 --> case2
form3 --> case3
3.j'ai créer un autre formulaire (dans notre cas cela sera le sous-formulaire)
pour récupérer les infos des boutons dans x,y,z par exemple pour notre calcul
sur le sous-formulaire en load
[code]
private sub Form_load() 'en fait form_load() fonctionne
if Form_form1.case1.value = 0 then
'case1 non cochée
x=0
else
'case1 cochée
x=1
end if
...........
idem pour les deux autres
Form_form2.case2.value
Form_form3.case3.value
...........
calcul = 1*x+10*y+100*z
case calcul
etc...
[\code]
Allez joyeux noël, à bientôt
ma femme va me tuer :)
Je resume, on adaptera après
1. j'ai créer trois formulaires : formu1, formu2, form3
2. j'ai mis une case à cocher dans chacun d'eux
form1 --> case1
form2 --> case2
form3 --> case3
3.j'ai créer un autre formulaire (dans notre cas cela sera le sous-formulaire)
pour récupérer les infos des boutons dans x,y,z par exemple pour notre calcul
sur le sous-formulaire en load
[code]
private sub Form_load() 'en fait form_load() fonctionne
if Form_form1.case1.value = 0 then
'case1 non cochée
x=0
else
'case1 cochée
x=1
end if
...........
idem pour les deux autres
Form_form2.case2.value
Form_form3.case3.value
...........
calcul = 1*x+10*y+100*z
case calcul
etc...
[\code]
Allez joyeux noël, à bientôt
ma femme va me tuer :)
damien_phenix
Messages postés
15
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
10 juillet 2009
29 déc. 2008 à 11:33
29 déc. 2008 à 11:33
Bonjour, et Joyeux Noël à toi aussi.
Merci beaucoup pour le code, il fonctionne très bien et j'espère que ton Noël n'a pas souffert de ta réponse.
Au risque de paraitre exigeant je souhaiterais apporter une modification au code :
Actuellement mon sous formulaire s'ouvre automatiquement lorsque l'utilisateur a choisi trois critère (société, contact, numéro machine) représentés sous trois choix multiples.
Lorsque mon sous-formulaire apparait pour la première fois (après un premier choix des trois citères) le code des msgbox fonctionne très bien, mais si l'utilisateur s'est trompé dans l'un des critères, le sous formulaire s'ouvre, l'utilisateur se rend alors compte de son erreur de critères et lorsqu'il modifie les critères le sous-formulaire s'actualise (sans se fermer et se ré-ouvrir) donc le code des msgbox ne fonctionne plus car le sous formulaire n'est pas chargé à nouveau.
Existe-t-il une fonction qui permettrait de lire le code des msgbox à chaque actualisation du sous-formulaire ou serait-ce plus simple de fermer et de ré-ouvrir le sous-formulaire si l'un des critères à été modifié?
A bientôt et encore Merci beaucoup
Merci beaucoup pour le code, il fonctionne très bien et j'espère que ton Noël n'a pas souffert de ta réponse.
Au risque de paraitre exigeant je souhaiterais apporter une modification au code :
Actuellement mon sous formulaire s'ouvre automatiquement lorsque l'utilisateur a choisi trois critère (société, contact, numéro machine) représentés sous trois choix multiples.
Lorsque mon sous-formulaire apparait pour la première fois (après un premier choix des trois citères) le code des msgbox fonctionne très bien, mais si l'utilisateur s'est trompé dans l'un des critères, le sous formulaire s'ouvre, l'utilisateur se rend alors compte de son erreur de critères et lorsqu'il modifie les critères le sous-formulaire s'actualise (sans se fermer et se ré-ouvrir) donc le code des msgbox ne fonctionne plus car le sous formulaire n'est pas chargé à nouveau.
Existe-t-il une fonction qui permettrait de lire le code des msgbox à chaque actualisation du sous-formulaire ou serait-ce plus simple de fermer et de ré-ouvrir le sous-formulaire si l'un des critères à été modifié?
A bientôt et encore Merci beaucoup
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
29 déc. 2008 à 12:55
29 déc. 2008 à 12:55
Bon là tout de suite je vais aller bosser mais j'ai fait un test vite fait en mettant ce code dans formulaire1
[code]
Private Sub Cocher0_Click()
Form_Formulaire4.Cocher0.Value = Cocher0.Value
end sub
[\code]
J'ai créer un bouton cocher0 dans le formulaire4 et si on clique dans le formulaire1 ,il se met à jour sans fermer et ouvrir le formulaire4 donc on doit pouvoir réussir à gérer les modifs des trois et actualiser le message dans le quatrième
Je me sauve à plus
[code]
Private Sub Cocher0_Click()
Form_Formulaire4.Cocher0.Value = Cocher0.Value
end sub
[\code]
J'ai créer un bouton cocher0 dans le formulaire4 et si on clique dans le formulaire1 ,il se met à jour sans fermer et ouvrir le formulaire4 donc on doit pouvoir réussir à gérer les modifs des trois et actualiser le message dans le quatrième
Je me sauve à plus
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
29 déc. 2008 à 14:15
29 déc. 2008 à 14:15
J'ai trouvé
Dans les trois formulaires avec les cases à cocher tu mets
[code]
Private Sub Cocher0_Click() 'Cocher0 ou nom de la case à cocher forcement
Form_Formulaire1.Refresh '1,2,3 suivant formulaire
Form_Formulaire4.SetFocus
end sub
[\code]
Et dans le formulaire4 au lieu de faire un Form_load tu fais un Form_Activate et le tour est joué.
Salut
Dans les trois formulaires avec les cases à cocher tu mets
[code]
Private Sub Cocher0_Click() 'Cocher0 ou nom de la case à cocher forcement
Form_Formulaire1.Refresh '1,2,3 suivant formulaire
Form_Formulaire4.SetFocus
end sub
[\code]
Et dans le formulaire4 au lieu de faire un Form_load tu fais un Form_Activate et le tour est joué.
Salut
damien_phenix
Messages postés
15
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
10 juillet 2009
29 déc. 2008 à 15:22
29 déc. 2008 à 15:22
Merci pour ce code, mais j'ai dù mal m'exprimer car mes trois cases à cocher se trouvent dans 3 tables différentes et non dans des formulaires. De plus je les visualise dans le sous-formulaire dont je cherche à gérer l'actualisation.
Excuses moi pour cette incompréhension.
Excuses moi pour cette incompréhension.
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
29 déc. 2008 à 21:58
29 déc. 2008 à 21:58
??????
des questions en vrac pour comprendre :
(--> veut dire ce que je comprends)
1.Tes cases sont dans des tables ?
--> tu as un champ qui te renseigne sur une case cochée ou non dans ton s-formulaire ou alors tu rajoutes une case sur la table quelque part ?
2.Tu ne touches pas à tes cases dans le s-formulaire, existent-elles ?
3.S-formulaire ouvert, les cases se mettent à jour ainsi que tes requètes mais tu n'as pas la msgbox ?
Merci de me dire si j'ai compris ton soucis.
des questions en vrac pour comprendre :
(--> veut dire ce que je comprends)
1.Tes cases sont dans des tables ?
--> tu as un champ qui te renseigne sur une case cochée ou non dans ton s-formulaire ou alors tu rajoutes une case sur la table quelque part ?
2.Tu ne touches pas à tes cases dans le s-formulaire, existent-elles ?
3.S-formulaire ouvert, les cases se mettent à jour ainsi que tes requètes mais tu n'as pas la msgbox ?
Merci de me dire si j'ai compris ton soucis.
damien_phenix
Messages postés
15
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
10 juillet 2009
30 déc. 2008 à 09:43
30 déc. 2008 à 09:43
Salut,
1. En fait mes cases à cocher sont "stockées" dans trois tables différentes. Elles sont toutes renseignées directement dans les tables sans passer par aucun autre formulaire. Les trois cases à cocher apparaissent seulement dans mon sous-formulaire par des contrôles "cases à cocher".
2. Dans mon sous-formulaire Sousform_fiche_client je ne trouche pas à l'état de mes cases à cocher, elles sont visibles mais non modifiables. Oui elles sont bien présentent sur mon sous-formulaire.
3. Oui, lorsque mon sous-formulaire est ouvert les cases à cocher se mettent à jour comme tous les autres champs visibles dans le sous-formulaire.
Merci et si tu as d'autre question ou si je n'ai pas été clair n'hésites pas à me le dire
1. En fait mes cases à cocher sont "stockées" dans trois tables différentes. Elles sont toutes renseignées directement dans les tables sans passer par aucun autre formulaire. Les trois cases à cocher apparaissent seulement dans mon sous-formulaire par des contrôles "cases à cocher".
2. Dans mon sous-formulaire Sousform_fiche_client je ne trouche pas à l'état de mes cases à cocher, elles sont visibles mais non modifiables. Oui elles sont bien présentent sur mon sous-formulaire.
3. Oui, lorsque mon sous-formulaire est ouvert les cases à cocher se mettent à jour comme tous les autres champs visibles dans le sous-formulaire.
Merci et si tu as d'autre question ou si je n'ai pas été clair n'hésites pas à me le dire
mikebzh
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
1 janv. 2009 à 18:24
1 janv. 2009 à 18:24
Si les checkbox se mettent à jour j'essaierais
[code]
Cocher0_AfterUpdate()
[\code]
Et tu relances la sauce des msgbox.
[code]
Cocher0_AfterUpdate()
[\code]
Et tu relances la sauce des msgbox.
damien_phenix
Messages postés
15
Date d'inscription
lundi 22 décembre 2008
Statut
Membre
Dernière intervention
10 juillet 2009
21 janv. 2009 à 11:39
21 janv. 2009 à 11:39
Merci de m'avoir répondu lors des fêtes, et excuses moi de ne pas t'avoir répondu, les impératifs de mes supérieurs m'ont obligé à mettre ce projet en attente.
Je viens tout de même d'essayer ce que tu m'as dit mais je ne sais pas vraiment où le placer dans mon code.
Est ce que je dois placer : Cocher0_AfterUpdate() au début de mon code des msgbox ou dans un autre portion de code de mon sous formulaire?
Merci d'avance, en espérant que tu as passé de bonnes fêtes.
Je viens tout de même d'essayer ce que tu m'as dit mais je ne sais pas vraiment où le placer dans mon code.
Est ce que je dois placer : Cocher0_AfterUpdate() au début de mon code des msgbox ou dans un autre portion de code de mon sous formulaire?
Merci d'avance, en espérant que tu as passé de bonnes fêtes.
23 déc. 2008 à 09:48
Alors si j'ai bien compris, le calcul des coef s'effectue sur la ligne de code "calcul = 1*...."?
Est ce que le fait que les cases à cocher ne soit pas dans la même table à une importance, sachant qu'elles apparaissent dans le même sous-formulaire?
Les msgbox doivent s'ouvrir lorsqu'un sous formulaire apparait (les cases à cocher apparaissent dans le sous-formulaire qui doit s'ouvrir avec les msgbox), ceci a-t-il une importance pour le code?
Je suppose que oui mais comment cela se rédige?
"Calcul" est-elle une variable? Si oui comment et où dois-je la déclarer?
D'autre part est-il possible de m'expliquer la syntaxe de la ligne ci-dessous, pour que je sache à quoi correspond les Check1(0), check1(1) et check1(2). (je demande ceci pour essayer de comprendre pourquoi le débeugueur d'Access me renvois une erreur) :
calcul = 1 * Check1(0).Value + 10 * Check1(1).Value + 100 * Check1(2).Value
(Check1(0), Check1(1) et Check1(2) correspondent aux trois noms des différentes cases à cocher, ou aux trois sources contrôlées qui leurs correspodent?)