Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Aide sur code pour état + requête

7 réponses
Avatar
thornack
Bonjour,
Je dois faire une maj sur une bd déjà existante et je connais peu access.
Il y a un formulaire pour facturer les clients.
J'ai besoin de faire une impression de tous les clients non facturés. Le menu contient seulement les clients non facturés et est mis à jour à chaque impression. Il y a un bouton à cliquer pour imprimer la facture.
J'ai pensé faire un robot qui simule de choisir un client dans le menu et clique le bouton imprimer tant qu'il y a des clients. Seulement je ne sais pas comment faire cela.
Tout ce que j'ai besoin c'est du code pour
-simuler de choisir un item dans un menu déroulant
-simuler de presser un bouton
Qqun peut-il m'aider sur ce qu'il faut faire?
Merci

7 réponses

Avatar
Raymond [mvp]
Bonjour.

Il faut changer le critère de ta requête qui doit tester actuellement
l'égalité sur un numéro client et ne facturer que ce client. ce critère doit
être du genre =Forms!formulaire!numéro
tu le changes en Comme Forms!formulaire!numéro & "*"
et tous tes clients seront sélectionnés si contrôle vide ou seulement le
client composé.
vérifies que tu as bien un entête de groupe sur le numéro client pour faire
un saut de page à chaque client et vider les totaux.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"thornack" a écrit dans le message de
news:
Bonjour,
Je dois faire une maj sur une bd déjà existante et je connais peu access.
Il y a un formulaire pour facturer les clients.
J'ai besoin de faire une impression de tous les clients non facturés. Le
menu contient seulement les clients non facturés et est mis à jour à chaque

impression. Il y a un bouton à cliquer pour imprimer la facture.
J'ai pensé faire un robot qui simule de choisir un client dans le menu et
clique le bouton imprimer tant qu'il y a des clients. Seulement je ne sais

pas comment faire cela.
Tout ce que j'ai besoin c'est du code pour
-simuler de choisir un item dans un menu déroulant
-simuler de presser un bouton
Qqun peut-il m'aider sur ce qu'il faut faire?
Merci



Avatar
Raymond [mvp]
ce n'est pas sûr , car cette fonction vérifie si le client existe et se
positionne dessus mais ce n'est pas elle qui imprime; quelle est la fonction
exécutée pour imprimer ? du genre docmd.openreport ..... c'est sûrement elle
qui doit avoir une clause where pour ne prendre que ce client.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"thornack" a écrit dans le message de
news:
Bonjour,
Le code du menu déroulant à un after_update où on utilise un
Me.RecordsetClone.FindFirst "[RefClient] = " & Me![VNoClient]
Me.Bookmark = Me.RecordsetClone.Bookmark
Je crois que ça fait en sorte qu'il ne peut y avoir plus d'un client
sélectionné à la fois pour la prodécure qui va imprimer la facture.




Avatar
thornack
Voici le code utilisé pour détecter le client dans imprimer_facture:
TNoFacture = DLookup("[RefFacture]", "[Factures]", "[NoEncan]=0 and [RefClient]= [VNoClient]")
Me.VNofacture = TNoFacture
et ensuite, il y a 2
DoCmd.OpenQuery stDocName, acNormal, acEdit
qui génèrent la facture du client, ces requêtes utilisent directement des valeurs présentes dans le formulaire.
Ensuite, il y a 2
DoCmd.OpenReport
et un autre
DoCmd.OpenQuery

Je crois que le problème vient du fait que des valeurs sont lues dans le formulaire.



ce n'est pas sûr , car cette fonction vérifie si le client existe et se
positionne dessus mais ce n'est pas elle qui imprime; quelle est la fonction
exécutée pour imprimer ? du genre docmd.openreport ..... c'est sûrement elle
qui doit avoir une clause where pour ne prendre que ce client.



Avatar
thornack
Voici le code utilisé pour détecter le client dans imprimer_facture:
TNoFacture = DLookup("[RefFacture]", "[Factures]", "[NoEncan]=0 and [RefClient]= [VNoClient]")
Me.VNofacture = TNoFacture
et ensuite, il y a 2
DoCmd.OpenQuery stDocName, acNormal, acEdit
qui génèrent la facture du client, ces requêtes utilisent directement des valeurs présentes dans le formulaire.
Ensuite, il y a 2
DoCmd.OpenReport
et un autre
DoCmd.OpenQuery

Je crois que le problème vient du fait que des valeurs sont lues dans le formulaire.



ce n'est pas sûr , car cette fonction vérifie si le client existe et se
positionne dessus mais ce n'est pas elle qui imprime; quelle est la fonction
exécutée pour imprimer ? du genre docmd.openreport ..... c'est sûrement elle
qui doit avoir une clause where pour ne prendre que ce client.



Avatar
thornack
Voici le code utilisé pour détecter le client dans imprimer_facture:
TNoFacture = DLookup("[RefFacture]", "[Factures]", "[NoEncan]=0 and [RefClient]= [VNoClient]")
Me.VNofacture = TNoFacture
et ensuite, il y a 2
DoCmd.OpenQuery stDocName, acNormal, acEdit
qui génèrent la facture du client, ces requêtes utilisent directement des valeurs présentes dans le formulaire.
Ensuite, il y a 2
DoCmd.OpenReport
et un autre
DoCmd.OpenQuery

Je crois que le problème vient du fait que des valeurs sont lues dans le formulaire.



ce n'est pas sûr , car cette fonction vérifie si le client existe et se
positionne dessus mais ce n'est pas elle qui imprime; quelle est la fonction
exécutée pour imprimer ? du genre docmd.openreport ..... c'est sûrement elle
qui doit avoir une clause where pour ne prendre que ce client.



Avatar
thornack
Il semble qu'il y ait des problèmes pour envoyer un post sur le forum...
Avatar
Raymond [mvp]
Bonjour.

Apparemment, comme tu le dis, le client et la facture sont testés dans la
requête sous-jacente à l'état. Si l'état prévoit d'imprimer plusieurs
factures ( multi-clientss ou multi-factures) avec un groupe sur le client,
tu peux modifier la requête et supprimer le test sur le client et la
facture.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"thornack" a écrit dans le message de
news:
Il semble qu'il y ait des problèmes pour envoyer un post sur le forum...