ne peux pas croire que je perds tellement de temps sur celui-ci.Accès: L'annulation de la génération du rapport provoque l'erreur 2501
J'ai un formulaire de commande, et quand je clique sur un bouton "rapports", un dialogue pop-ups avec une liste de différents rapports à choisir. Un double-clic sélectionne et lance le rapport correspondant.
Dans l'un de ces rapports, il existe une zone de texte non liée dans laquelle l'utilisateur doit saisir des données. La source de contrôle de ce champ est définie sur sa propriété Nom. Lorsque le rapport est démarré, une zone de saisie apparaît avec un bouton OK et un bouton Annuler. Chaque fois que j'entre des données, tout va bien.
Mais lorsque je clique sur Annuler, l'application se bloque et j'obtiens un message d'erreur: "Erreur d'exécution 2501: L'Action OpenReport a été annulée".
Le rapport est appelé par ce code:
DoCmd.OpenReport vBerichtName, nAnsicht
End If
On Error Resume Next
DoCmd.Close acForm, "F_BerichtDrucken"
On Error GoTo 0
1) Pourquoi est-ce l'erreur manipulation ne débutera pas?
2) J'ai googlé et trouvé beaucoup de solutions bizarres pour cela, comme le Microsoft officiel disant que vous devez installer/mettre à jour un pilote d'imprimante (allez ...). Aucun n'a aidé. Je fais cela pour un ami et je travaille normalement sur linux/php, java, etc. Je m'excuse si la solution est quelque peu évidente ou quelque chose comme ça.
OK les gars, merci, j'ai fait un pas de plus. Maintenant, il ressemble à ceci:
On Error GoTo CancelError If Not IsNull(vFilter) Then DoCmd.OpenReport vBerichtName, nAnsicht, , vFilter Else DoCmd.OpenReport vBerichtName, nAnsicht End If Echo True CancelError: Exit Function
(Hey, j'édite le code de quelqu'un d'autre et je suis tout à fait débutant à VB, s'il vous plaît envisager;) Maintenant en fait cela fonctionne, mais quand je clique sur annuler, je suis de retour avec le dialogue - mais l'application se bloque .... besoin de redémarrer l'accès pour pouvoir continuer! – faboolousDésolé pour le formatage de code laide dans les commentaires, besoin de savoir comment faire;) – faboolous
Yup - à chaque fois que vous utilisez DoCmd.OpenReport vous devez piéger cette erreur –