OVH Cloud OVH Cloud

Variable dans un requête

8 réponses
Avatar
Antoine
Bonjour,
Je souhaiterais utiliser une variable d'un formulaire (ex. N° client) pour
ouvrir un formulaire issue d'une requête utilisant le N° client en question.

Le but est de créer des fiches de client où il sera possible de saisir des
rapport de contact. ces rapport pourront être ensuite accessible en cliquant
sur un bouton "rapport" qui ouvre le formulaire "historique" permettant de
visualiser les rapports précédents.

Structure :
1 table : Identité des clients avec un N° de client (clé primaire)
1 tablz : Rapports avec un numéro unique (clé primaire) par rapport et
liaison par le N° du client.

Avez vous une idée?
Merci par avance.

8 réponses

Avatar
Gafish
Antoine wrote:
Bonjour,
Je souhaiterais utiliser une variable d'un formulaire (ex. N° client)
pour ouvrir un formulaire issue d'une requête utilisant le N° client
en question.


Deux solutions :
- filtrer la requête source du formulaire2 en fonction de la zone numClient
du formulaire1. En ce cas tu ouvres la requête source du form2, pour le
champ numClient, dans la zone critères tu fais clic droit..créer (ou
générer). Dans la partie gauche, tu parcours tes objets pour trouver la zone
du form1, formulaires...tous les formulaires...form1 et dans la partie
centrale tu vas trouver ta zone numClient. Tu double clique dessus, elle
passe dans la partir du haut tu fais ok.
- ouvrir le formulaire en filtrant à l'ouverture.
sur le bouton qui ouvre le formulaire2, tu mets :

Dim stLinkCriteria
stLinkCriteria = "[NumClient]=" & Me.TaZoneNumClientDuForm1
DoCmd.OpenForm "Form2", , , stLinkCriteria

en remplacant TaZoneNumClientDuForm1 par le nom de ta zone

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Antoine
Je ne sais pas si je me sui bien exprimé en fait. Je voudrais juste ouvrir un
formulaire à partir d'un premier dont l'une des variable est utilisée dans la
requête (2nd formulaire).

Et je ne suis pas sur d'avoir bien compris la réponse.

Merci :)


Antoine wrote:
Bonjour,
Je souhaiterais utiliser une variable d'un formulaire (ex. N° client)
pour ouvrir un formulaire issue d'une requête utilisant le N° client
en question.


Deux solutions :
- filtrer la requête source du formulaire2 en fonction de la zone numClient
du formulaire1. En ce cas tu ouvres la requête source du form2, pour le
champ numClient, dans la zone critères tu fais clic droit..créer (ou
générer). Dans la partie gauche, tu parcours tes objets pour trouver la zone
du form1, formulaires...tous les formulaires...form1 et dans la partie
centrale tu vas trouver ta zone numClient. Tu double clique dessus, elle
passe dans la partir du haut tu fais ok.
- ouvrir le formulaire en filtrant à l'ouverture.
sur le bouton qui ouvre le formulaire2, tu mets :

Dim stLinkCriteria
stLinkCriteria = "[NumClient]=" & Me.TaZoneNumClientDuForm1
DoCmd.OpenForm "Form2", , , stLinkCriteria

en remplacant TaZoneNumClientDuForm1 par le nom de ta zone

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Gafish
Antoine wrote:
Je ne sais pas si je me sui bien exprimé en fait. Je voudrais juste
ouvrir un formulaire à partir d'un premier dont l'une des variable
est utilisée dans la requête (2nd formulaire).


Oui, oui, j'avais bien compris.
Quand tu dis "dont l'une des variables est utilisée dans la requête", tu
veux bien dire qu'une valeur contenue dans le premier formulaire doit servir
à filtrer le deuxième. Par exemple, le numéro client contenu dans le premier
formulaire doit servir à afficher le formulaire client, mais uniquement pour
ce client donné.
En ce cas c'est bien ce que j'avais compris, et ce à quoi j'avais répondu.
Dis moi ce qui te gêne dans les réponses et ce que tu ne comprends pas,
essaie de faire pas à pas la première et dis moi ou tu es bloqué.

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Antoine
Ma question était alors bien comprise. Je vais reprendre les explication
depuis le début et recommencer. Je te tiens au courrant. Merci.


Antoine wrote:
Je ne sais pas si je me sui bien exprimé en fait. Je voudrais juste
ouvrir un formulaire à partir d'un premier dont l'une des variable
est utilisée dans la requête (2nd formulaire).


Oui, oui, j'avais bien compris.
Quand tu dis "dont l'une des variables est utilisée dans la requête", tu
veux bien dire qu'une valeur contenue dans le premier formulaire doit servir
à filtrer le deuxième. Par exemple, le numéro client contenu dans le premier
formulaire doit servir à afficher le formulaire client, mais uniquement pour
ce client donné.
En ce cas c'est bien ce que j'avais compris, et ce à quoi j'avais répondu.
Dis moi ce qui te gêne dans les réponses et ce que tu ne comprends pas,
essaie de faire pas à pas la première et dis moi ou tu es bloqué.

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Antoine
J'ai essayer avec les deuxième méthode, avec la première je dois rater
quelque chose je n'y arrive pas.

voilà mon code pour le bouton :
"N° Prospect" est le critère et appartient au formulaire "Fid"
"Frap" est le 2nd formulaire.
J'obtiens l'erreur : " Erreur d'éxécution 2465 , Impossible de trouver le
champ auquel il est fait référence dans votre expression".
_____________________________________________________________________
Private Sub Commande41_Click()

Dim stLinkCriteria
stLinkCriteria = "[NumClient]=" & Me.[Fid]![N°Prospect]
DoCmd.OpenForm "Frap", , , stLinkCriteria


End Sub
_____________________________________________________________________

Ma question était alors bien comprise. Je vais reprendre les explication
depuis le début et recommencer. Je te tiens au courrant. Merci.


Antoine wrote:
Je ne sais pas si je me sui bien exprimé en fait. Je voudrais juste
ouvrir un formulaire à partir d'un premier dont l'une des variable
est utilisée dans la requête (2nd formulaire).


Oui, oui, j'avais bien compris.
Quand tu dis "dont l'une des variables est utilisée dans la requête", tu
veux bien dire qu'une valeur contenue dans le premier formulaire doit servir
à filtrer le deuxième. Par exemple, le numéro client contenu dans le premier
formulaire doit servir à afficher le formulaire client, mais uniquement pour
ce client donné.
En ce cas c'est bien ce que j'avais compris, et ce à quoi j'avais répondu.
Dis moi ce qui te gêne dans les réponses et ce que tu ne comprends pas,
essaie de faire pas à pas la première et dis moi ou tu es bloqué.

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr








Avatar
Gafish
Antoine wrote:

Dim stLinkCriteria
stLinkCriteria = "[NumClient]=" & Me.[Fid]![N°Prospect]
DoCmd.OpenForm "Frap", , , stLinkCriteria


Pas besoin de [Fid] ici, Me represente l'objet "container" en cours, à
savoir ici le formulaire Fid, donc Me.Fid c'est redondant.
Essaie :
stLinkCriteria = "[NumClient]=" & Me![N°Prospect]

PS :tu es bloqué ou à la première, tu affiches bien la requête ? sinon tu
ouvres Frap, fenetre propriétés, onglet données, source, et tu cliques sur
les "..." en bout de ligne

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Antoine
Private Sub Commande41_Click()

Dim stLinkCriteria
stLinkCriteria = "[NumClient]=" & Me![N°Prospect]
DoCmd.OpenForm "Frap", , , stLinkCriteria


End Sub

OK ca marche merci. Par contre maintenant il me demande de rentrer une
valeur de paramètre.


Antoine wrote:

Dim stLinkCriteria
stLinkCriteria = "[NumClient]=" & Me.[Fid]![N°Prospect]
DoCmd.OpenForm "Frap", , , stLinkCriteria


Pas besoin de [Fid] ici, Me represente l'objet "container" en cours, à
savoir ici le formulaire Fid, donc Me.Fid c'est redondant.
Essaie :
stLinkCriteria = "[NumClient]=" & Me![N°Prospect]

PS :tu es bloqué ou à la première, tu affiches bien la requête ? sinon tu
ouvres Frap, fenetre propriétés, onglet données, source, et tu cliques sur
les "..." en bout de ligne

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






Avatar
Gafish
"Antoine" a écrit dans le message de
news:
OK ca marche merci. Par contre maintenant il me demande de rentrer une
valeur de paramètre.



il te demande d'entrer pour quelle valeur ?

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr