Pb d'ouverture d'un Etat lié à une facture! - access 2003 et code sur bouton de com

Slt a tous, je voudrais savoir comment puis je faire pour ouvrir un Etat facture que j ai créé avec un formulaire facture a l’aide d un bouton de commande?
je m’explique, j ai créé un formulaire facture ou je rentre le client avec une liste déroulante puis g un sous formulaire intégré avec le produit, la désignation, la tva…
j ai un bouton de commande qui me sers à ouvrir l’etat facture!
PB qd j appui sur le bouton de commande ca m ouvre l’etat mais avec toutes les factures. je dois rechercher l’etat correspondant a ma facture que je viens de faire!
Comment faire pour n ouvrir que l’etat facture que je suis entrain de faire? :??:

Je doute que tu reçoives de l’aide avec un titre aussi peu précis. Tu peux en changer en cliquant sur http://www.clubic.com/forum/style_images/persoclubic/editer.gif dans ton message.

Merci.

VBA Excel ou Access ?

VB access :wink:

Alors tu ferais mieux de préciser Access dans le titre.
Ton état doit être basé sur une requête.
Dans un premier temps, laisse tomber l’état et joue sur les paramètres de la requête jusqu’à ce qu’elle te retourne les valeurs que tu attends.
Il faut certainement que mettes une condition sur l’un des champs pour qu’il corresponde à une valeur existant dans le formulaire.

merci beaucoup gcc!!!en fait ce que jvoudrais c est que quand j appui sur mon bouton de commande pour ouvrir mon état facture faut que celui ci m affiche l etat de la facture actuelle!
Merci d avance!

Je suppose que tes factures sont stockées dans une table, et que cette table contient les factures de plusiers clients.
Si j’ai bien compris, ton état te donne actuellement plusieurs factures, mais d’un seul client, donc tu as déjà utilisé une requête de sélection.
Si tu veux la dernière facture, il faut que tu intègres à ta requête un regroupement sur le champ client, et en choisissant Max pour le champ date.

Oui voila en faite pour le moment j ai fais comme exemple pour voir si ma base marche deux factures avec deux clients différents!par exemple j ai dja une facture du client 1 je fais une nouvelle facture avec le client 2, puis qd je clique sur mon bouton de commande pour visualiser l Etat il me met tous les Etat hors je voudrais directement tomber sur l Etat de la facture du client2 que je viens de faire!
En faite je fais une base de données pour un paysagiste ou j ai enregistré la TVA puis une gestion des clients, fournisseurs, produits, règlements(chèque espèce…) mais je voudrais faire ossi une gestion de stock et rajouté des devis en plus des factures!
Je suis en BTS IG et je voudrais bien apprendre bocoup de chose donc…vu k en cours c pas ca!!!lol
merci beaucoup

Je pense que tu as dû aller un peu vite dans la conception de ton état
1- Comment l’as-tu fait ? Manuellement ou en automatique à partir de l’assistant ?
Si tu veux apprendre comment ca fonctionne, il faut commencer par un état manuel, pas forcément avec tous les champs que tu désires à la fin (deux ou trois ca suffit), c’est juste pour comprendre le principe).
Mais pour ton pb, on peut s’en tenir à l’état que tu as actuellement.

2- Concernant ton état actuel, il s’appuie sur quelle source ?
Si tu ne sais pas, tu ouvres l’état en mode modification, tu affiches la fenêtre de propriétés onglet ‘Toutes’ et tu regardes la première ligne.

Supposons que la source soit ‘RequeteAffichage’
Tu fermes l’état, et tu ouvres la requête en question.
Si elle comporte plus d’une ligne, c’est que tu t’es trompé dans tes critères de sélection. Tu les modifies jusqu’à obtenir le résultat désiré.
Tu enregistres et tu rouvres l’état, ca devrait être bon

ok! mais ca ca marchait déjà ya pas de problème! le problème c’est que depuis mon formulaire Facture j’ai mis un bouton de commande pour visualiser l’Etat pour l’impression!hors par exemple quand je fais une facture avec un client X il me visualise l’Etat d’un client Y!moi je voudrais avoir l’Etat du client X directement pour l’imprimer!qd je fais une nouvelle facture il faut que l’Etat correspondant se charge avec les informations que je viens de rentrer pour que l’impression soit rapide!
Merci

Ca n’est pas contradictoire
S’il te visualise l’état du client Y, c’est que le filtre de ta requête est mal fait
Tu dois avoir dedans un critère qui fait référence à un champ de ton formulaire (champ dans lequel est désigné le client X)
Deroule ton programme jusqu’à l’affichage de ton formulaire, remplis tes champs puis au lieu d’appuyer sur le bouton exécute (manuellement) la requête pour voir ce qu’elle donne.
Si ca ne marche pas, mets-nous le code de la requête copie d’écran ou forme Sql

ok je v essayer mais je travail sur access 2003!je v voir mais c pas par rapport au code que j’ai tapé dans mon bouton de commande?

Il faudrait voir comment tu as écrit ton programme ; normalement, le code du bouton doit se limiter à une ligne qui invoque l’état

oui je sais!le code du bouton est nikel ya pas de prob la dessus le pb c’est que je voudrais qu il m ouvre l état facture de la facture correspondante

En supposant que tes critères de choix sur le formulaire soient le nom du client et la date de la facture, à l’activation de ton bouton tu devrais arriver sur une requête du genre

SELECT TFactures.NumFacture, TFactures.Date, TFactures.Nom, TFactures.Montant
FROM TFactures
WHERE (((TFactures.Date)=[forms]![FormulaireFactures]![Date]) AND ((TFactures.Nom)=[forms]![FormulaireFactures]![client]));

NB : Ce n’est pas du vrai sql, c’est une requête acces pour laquelle j’ai choisi l’option mode sql pour la visualiser

ok je vais voir merci beaucoup!

J’ai repensé à une chose depuis :
Si ta requête donne un résultat satisfaisant, et que ton état ne donne pas la même chose, c’est peut être qu’il ne se referme pas correctement entre les deux affichages

C’est possible également que la requête fonctionne correctement, mais que dans la conception de son Etat “Facture” , le prog ne récupère pas correctement la facture qu’il a sélectionné dans son formulaire préalablement.

Ok ca ne marche pas il m’affiche toujours l’ensemble des états facture! je ne sais pas comment faire.