{Access} Problème selection dans formulaire

Résolu/Fermé
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 - 26 févr. 2010 à 16:01
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 - 24 mars 2010 à 15:06
Bonjour tout le monde,

Je suis entrain de terminer ma base de donnée, et je veux créer un formulaire (rapport) pour montrer la trésorerie générale de mon entreprise entre 2 dates préalablement sélectionnées! Chose faite!!

Mais maintenant, je souhaiterai que quand on clique sur un des montants (Debit ou Credit) de mon rapport de trésorerie, on puisse voir le détails des actions effectuées. Le problème: je n'arrive pas à selectionner les factures correspondants au montant où j'ai cliqué!!

Le code que j'ai fait qui me donne toutes les factures de ma trésorerie:

SELECT ReqMontantTiers.Date, TblTiers.NomTiers, TblProjet.N°Projet, ReqMontantTiers.SommeDeDebit FROM ReqSelection, (TblTiers INNER JOIN ReqMontantTiers ON TblTiers.idTiers=ReqMontantTiers.idTiers) INNER JOIN TblProjet ON ReqMontantTiers.idProjet=TblProjet.idProjet WHERE ReqMontantTiers.Date=ReqSelection.Date;


J'aimerais ne selectionner que les factures correspondant au montant que j'ai cliqué!! Je suis à court d'idée!!

Quelqu'un pourrait il m'aider??

Merci!

(En espèrant avoir été assez clair...)

7 réponses

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
28 févr. 2010 à 14:33
Bonjour RoZyk,

Cette syntaxe sur clic devrait vous permettre de visualiser ce que vous souhaitez

Dim stDocName As String

stDocName = "<Nom_Etat_à_ouvir>"
DoCmd.OpenReport stDocName, acPreview, "<Nom_Table", "<Ref_champ>= '" & Ref_champ & "'"

Je n'ai pas testé ...

Cordialement
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
22 mars 2010 à 15:44
Bonjour, tout d'abord désolé de ne pas avoir répondu plus tot... (Et oui, c'est le problème de l'alternance... :P)

Et sinon, je m'excuse encore, mais je n'ai pas bien compris ton code?? Pourrais tu me l'expliquer un peu??

En naviguant sur le web, j'avais cru comprendre qu'il fallait utiliser un
Nom_de_ma_liste.value
pour récupérer la valeur sur laquelle je clique...
Pourriez-vous m'éclairer un peu plus?
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
22 mars 2010 à 16:18
Salut,

comment exécutes-tu ton code ?
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
22 mars 2010 à 16:26
Je n'ai pas encore codé, pour le moment je cherche des infos et des pistes parce que a vrai dire, je n'avais pas vraiment d'idée...
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
Modifié par blux le 22/03/2010 à 16:35
Si tu veux imprimer un état avec une restriction, ce qu'a proposé Jean-Jacques est la solution la plus simple avec un
"<Ref_champ>= '" & nom_de_la_liste.value & "'"
si la liste renvoie une valeur de type chaine sinon, on trouvera
"<Ref_champ>= " & nom_de_la_liste.value
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
22 mars 2010 à 17:20
Non non, aucune impression n'est prévue... Comme j'ai essayais de l'expliquer dans mon 1er post, j'ai déjà créer un formulaire de type rapport pour ma trésorerie sous la forme d'un tableau avec:
- une 1ère colonne "Date"
- une 2ème "Débit"
- une 3ème "Crédit"
- et une dernière "Solde"

Pour chacune de mes colonnes, j'utilise une liste afin de les dissocier.

Maintenant, j'aimerai que si je clique (double-clique plus exactement) sur l'un de mes "Débit" ou "Crédit", j'ai le détails des différents "Débit" ou "Crédit" effectué à ce jour... Pour ce faire, il faudrait que je récupère soit la valeur du numéro de la ligne que j'ai cliqué, ou mieux encore la date associée directement à cette ligne!! Afin que dans un autre formulaire je puisse mettre des conditions en fonctions de l'élément cliquer....

Par exemple, si je clique sur le "Débit" du 23/03/2010, j'aimerai voir toutes les commandes que j'ai payé le 23/03/2010 avec le détail (Nom du fournisseur, N° du projet concernée....).

Pour le moment, j'arrive a récupérer ces informations dans un autre formulaire, mais pour toute la liste en cours, pas seulement la ligne ou j'ai cliqué....

Et donc, j'aimerai savoir comment je pourrais faire pour récupérer les infos relatives a la ligne ou j'ai cliqué, et ainsi mettre plus de conditions afin que sur le 2ème formulaire, je n'ai que les infos qui m'interesse...

J'espère avoir été assez clair cette fois...

Et je vous remercies d'ores et déjà pour tout le temps que vous prenez à m'apporter votre aide!
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
23 mars 2010 à 12:04
Voici ce que j'ai codé... N'étant que débutant en VBA, j'ai quelques erreurs...

Private Sub Liste35_DblClick(Cancel As Integer)
     
Dim stDocName As String

DoCmd.OpenForm "FormDebitBP", , , ReqMontantTiers.Date = Liste33.Value, , acWindowNormal, ""
    
End Sub


J'ai un problème sur la condition, je ne sais pas vraiment comment la formuler... Il faudrait que la valeur que je prenne la date (Liste 33) correspondant a la valeur ou je clique (Liste 35) pour faire une condition WHERE sur le formulaire que j'ouvre...

Pourriez vous m'aider?

J'avoue que je patoges un peu...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
23 mars 2010 à 12:08
Mets des guillemets, comme je l'ai dit (en en plus, comme c'est une date, il faut la mettre entre #), mais tu risques d'avoir des surprises à cause du format de la date (entre jj/mm/aaaa et mm/jj/aaaa) :

DoCmd.OpenForm "FormDebitBP", , , "ReqMontantTiers.Date = #" & Liste33.Value & "#", , acWindowNormal, ""
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
23 mars 2010 à 14:05
Bon, je n'y arrive pas, si je mets ma base en ligne ça te gênerais d'y jeter un coup d'oeil?

http://cjoint.com/data/dxobq3lFXC.htm

C'est le FormRapport, quand je clique sur un débit, j'aimerai retrouver toute les opérations relatives a ce debit.... Pour l'instant, j'ai testé mon code sur la liste date pour essayer de comprendre au mieu... Bref si tu pouvais m'aider, je te serais très reconnaissant...

Merci d'avance!
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
24 mars 2010 à 09:54
Après une petit tour dans l'aide de Access, je viens de me rendre compte que la propriété valeur ne renvoyait que la colonne dépendante de l'objet...

Dixit l'aide :
Zone de liste | Valeur de l'élément zone de liste] | Valeur de la colonne dépendante de l'élément sélectionné dans la liste.

Quelqu'un connait il une propriété qui pourrait me renvoyer la valeur de la ligne et de la colonne dépendantes de l'élément sélectionné dans la liste?
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
24 mars 2010 à 10:48
C'est une liste déroulante ou une liste 'normale' ?

On peut essayer un truc comme ça :
msgbox zone_de_liste.column(x) où x est le numéro de colonne (commençant à 0).
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
24 mars 2010 à 11:00
C'est une liste normale, j'essaye merci!
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
Modifié par RoZyk le 24/03/2010 à 11:15
OK ça marche!! Maintenant, j'aimerai récupérer cette valeur pour l'utiliser dans une requête SQL, est ce possible?
0
RoZyk Messages postés 78 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 16 mars 2011 3
24 mars 2010 à 11:22
Plutot que de mettre la valeur dans une MsgBox, je peux la mettre dans une table de ma base de donnée?
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
24 mars 2010 à 11:29
La msgbox n'était là que pour l'exemple ;-)

On peut faire ce qu'on veut avec la valeur : l'insérer dans une table, l'utiliser en paramètre d'une requête...
0