Bonjour à tous!
J'ai fait plusieurs recherches sur les différents forums/FAQ/Sources du site, mais je n'ai pas su trouver de solution à mon problème d'apparence banal mais qui est quand même un peu particuler.![]()
Voici ce qui en est:
(Note: j'utilise Access 2000 et Windows XP édition familiale)
J'ai créé un formulaire relié à ma table "Visa", en mode formulaire unique. Sur ce formulaire j'ai un bouton (commande36) qui:
1-Enregistre manuellement les modification apportées à l'enregistrement.
2-Enregistre un "rapport" dans un document word.
Tou celà fonctionne merveilleusement, mais (et oui il y a un mais sinon je ne serais pas là) le rapport enregsitre TOUS les enregistrements de ma table "Visa". Ce que mes employeurs veulent, c'est que seul l'enregistrement en cour soit enregisré dans le "rapport".
Pour palier à ce problème, j'ai basé mon "rapport" sur une requête paramétrée allant chercher le no. de visa (ma clé primaire), pour n'enregistrer que l'enregistrement en cour.
Et ça ne fontionne qu'à moitié. Le "rapport" peut être enregistré, mais lors de l'exécution du code, la fenêtre demandant d'entrer le paramètre de la requête apparaît à chaque fois, chose que mes employeurs voudraient éviter.
J'ignore pourquoi, mais lors de l'exécution, la requête ne va pas chercher ma valeur dans le champs du formulaire....sauf en mode debug.... C'est dingue, mais quand je fonctionne avec l'option pas-à-pas du debuggeur VBA, la fenêtre n'apparaît pas et tout fonctionne comme je le voudrais ... et c'est ça qui me perd![]()
Je ne comprends vraiment pas pourquoi et je suis un peu découragée...![]()
Code de la requête (affichage SQL):
*Visa1 = formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT Visa.Num_Visa, Visa.Date, Visa.Num_Dossier, Visa.Type_carte, Visa.Num_Carte, Visa.Date_Exp_Visa, Visa.Num_Cours, Visa.Nom_Avocat, Visa.Desc_Proc, Visa.Timbre_Jud, Visa.Nom_Avocat2, Visa.No_Tel, Visa.Conciliation, Visa.Activation, Visa.Init FROM Visa WHERE (((Visa.Num_Visa)=[Forms]![Visa1]![Num_Visa]));
*Num_Visa = nom du champ du formulaire (et du champ de la table)
Code du bouton du formulaire:
*Etat_Visa_Exp = nom du rapport lié à la requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Private Sub Commande36_Click() Dim stDocName As String DoCmd.RunCommand acCmdSaveRecord stDocName = "Etat_Visa_Exp" DoCmd.OutputTo acOutputReport, "Etat_Visa_Exp", acFormatRTF, "C:\Data\Visa.doc" Exit_Commande36_Click: Exit Sub Err_Commande36_Click: MsgBox Err.Description Resume Exit_Commande36_Click End Sub
Je crois que je n'ai rien oublié, j'espère qu'avec tout ça vous pourrez me donner un coup de main![]()
Si vous avez des questions ou si je n'ai pas été assez clair n'hésitez pas à me le dire, je tâcherai de répondre du mieux possible.
Gros merci à l'avance![]()
Partager