|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 38 ![]() |
Bonjour à tous,
Je rencontre un soucis dans la génération d'un état en VBA (la création de ce dernier en VBA n'était surement pas la meilleure solution, mais je redécouvre Access et fait selon mes connaissances à ce niveau). Ce dernier execute plusieurs requêtes dans le but d'automatiser des calculs en fonction de deux dates. Tout fonctionne à ce niveau là mais l'inputbox qui demande les dates apparait deux fois (4 en tout en comptant la date de début et la date de fin). Sachant que: - Si je ne renseigne pas de date la première fois, le programme plante - Si je renseigne une première fois la date et début et la date de fin mais que je ne renseigne rien la deuxième fois, le programme plante - Si je renseigne deux fois les dates correctement dans les 4 inputbox, mon état se génère normalement (seul les dernières dates renseignées sont prises en compte) Une aide de votre part serait la bienvenue car je ne comprends vraiment pas pourquoi les inputbox apparaissent deux fois (si je créé des msgbox n'importe où dans le code, même problème. C'est comme si le code entier s'éxecutait deux fois) Voilà, merci d'avance pour vos réponses. Kilvan |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : février 2010 Messages : 100 ![]() |
Bonjour,
Je n'ai pas vraiment de réponse (désolé ^^'), mais pourquoi ne pas ouvrir un formulaire/utiliser le formulaire précédent pour remplir ces deux dates ? Au lieu de passer par deux InputBox, tu crées deux champs dans ton formulaire, tu récupères les valeurs à l'ouverture de l'état et tu effectues tes actions à partir de celles-ci. Cordialement, Beub'. |
|
|
00
|
|
|
#3 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
Re,
Tu as essayé sur l'évènement print (impression) de la section EntêteÉtat ? A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 38 ![]() |
Re,
Merci pour vos réponses. Concernant le fait de mettre un formulaire en amont, je n'ai pas testé mais pourquoi pas. Ceci étant je ne comprendrais toujours pas pourquoi mon code s’exécute deux fois. Concernant le test sur l’événement print, j'ai essayé et cela me retourne la même erreur que lorsque je ne remplis pas les champs des dates (à savoir erreur 3075 Erreur de syntaxe, opérateur absent, dans l'expression Requête SQL) Quelqu'un aurait une idée du pourquoi ce code s’exécute deux fois de suite ? Merci. |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : février 2010 Messages : 100 ![]() |
Comment est-ce que ton état s'ouvre ? Tu peux nous montrer le code ?
|
|
|
00
|
|
|
#6 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 38 ![]() |
Re,
J'ai un peu de mal à comprendre la question du comment mon état s'ouvre ^^ C'est un état tout a fait classique avec trois textbox permettant d'afficher le résultat des différents algorithmes. |
|
|
00
|
|
|
#8 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
En gros comment tu lances ton état :
Manuellement ? Avec une macro ? Ou du code VBA ? A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Stéphane Formateur en informatique Inscription : janvier 2011 Messages : 30 ![]() |
Bonjour,
Il me semble que si c'est demandé 2 fois c'est Est ce que Dim Date_Debut permet la conservation de la valeur de la variable ? il ne faudrait pas un Static Date_Debut? C'est parce que Sub Détail_Format est exécuté plusieurs fois lors du formatage de l'état. FormatCount permet de compter de nombre de passage (voir aide Access) Cordialement, |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 38 ![]() |
L'état est généré par le VBA uniquement.
Je teste dès lundi de passer la variable en Static. Il est possible que ça résolve le problème, cependant le fait que des MsgBox placé à différents endroits du code (pour tester) apparaisse en double également me laisse perplexe. De manière précise les deux inputBox apparaissent me demandant les deux dates. Puis ensuite les différentes MsgBox. Puis de nouveau les deux inputBox réapparaissent me redemandant les dates. Puis de nouveau les MsgBox. J'ai remarqué aussi que les dates m'étaient redemandées lorsque je souhaite imprimer l'état. Visiblement l'impression ne part pas si je ne renseigne rien (ça je n'en suis pas sur par contre. Imprimante réseau qui merde assez régulièrement, je ne sais pas si le problème d'impression vient vraiment de là). Je vous tiens au courant dès que j'ai effectuer le test de Stef999. Encore merci. Kilvan |
|
|
00
|
|
|
#11 |
|
Membre actif
![]() Sébastien Développeur indépendant Inscription : juillet 2011 Messages : 178 ![]() |
Salut j'ai regardé ton code et je croit qu'il y a un ambiguïté dans ta fonction tu devrait déclarer en et si ta fonction se termine parce que : n'est pas respecté
soit par erreur de frappe ou erreur qui sort de null part ca va planté ... moi je metteraai un msgbox qui dit date non valide avec le format à respecté si "not is date" !!! Essai de trouver un autre manière de coder cette partie ... on dirait que ton code tourne en rond sur ce point. cordialement |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 38 ![]() |
J'ai testé en passant les variables date en Static.
J'ai également testé en supprimant la fonction de conversion de date (j'ai donc saisis les dates au format US directement). Dans le 1er cas, le code ne se lance pas et j'ai le message suivant : "L'expression au formatage entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur. Instruction incorrecte à l'extérieur d'une procédure." J'ai tenté de placé la variable dans le module Entête mais la portée se limite donc à l'entête seulement et le code plante à la 1ère requête. Dans le 2e cas, le code s’exécute normalement me demandant toujours de saisir les dates 2 fois. Si quelqu'un à une autre idée, je suis preneur. Je ne comprends vraiment pas ce qui cloche. |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 38 ![]() |
Problème résolu.
Le soucis est complètement indépendant du code VBA mais se trouve dans la partie création de l'état. Le soucis vient d'une textbox permettant d'afficher le nombre de pages (en bas de page) avec l'expression "="Page " & [Page] & " sur " & [Pages]" Quand la textbox est présente, le code s’exécute 2 fois. Maintenant qu'elle est supprimée, tout fonctionne bien. J'avoue que la raison m'échappe un peu mais le principal étant que ca fonctionne. Merci du temps accordé à mon soucis. A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com