[access] ouverture formulaire recherche VBA

Fermé
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 - 12 mai 2006 à 10:33
magi123 Messages postés 18 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 10 décembre 2007 - 4 déc. 2007 à 15:50
Salut,
j'aimerai que lorsque je clique sur un bouton dans un formulaire celui ci en ouvre un autre (dont les tables sont liés), donc jusque la rien de compliqué (docmd.openform) mais ce qui se complique c'est que je voudrais qu'il ne m'affiche que les enregistrement ou la clef etrangere corresponde à la clef primaire de l'enregistrement sous lequel j'ai cliqué sous le premier formulaire.
Pour récupérer la valeur de la clef primaire dans le premier formulaire je sais comment faire (forms![nom du forms]![nom du champ].value) ce que je ne sais pas faire c'est ouvrir dans le second formulaire que les enregistrements correspondant à cette valeur. En gros ca revient à faire un tri sur un champ mais je ne sais pas comment faire en VBA.
A voir également:

9 réponses

rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
12 mai 2006 à 15:11
c'est bon j'ai trouvé je mets donc la requête a attacher pour ceux que ca interresse:

SELECT LIVRAISON.N°LIVRAISON, LIVRAISON.N°CLIENT, LIVRAISON.N°GROUPE_LIVRAISON
FROM TOURNEE INNER JOIN LIVRAISON ON TOURNEE.N°GROUPE_LIVRAISON = LIVRAISON.N°GROUPE_LIVRAISON
WHERE (((LIVRAISON.N°GROUPE_LIVRAISON)=[forms]![TOURNEE]![N°GROUPE_LIVRAISON].[value]));
1
ami_khalid01
22 oct. 2007 à 14:21
Bonjour,
comment faire pour creer dans la zone détail d'un formulaire, la commande " filter par formulaire " .
1
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
12 mai 2006 à 10:58
j'ai essayé la commande suivante:
LIVRAISON.Filter = "N°GROUPE_LIVRAISON = TOURNEE!N°GROUPE_LIVRAISON.Value"
ou LIVRAISON est mon second formulaire a ouvrir depuis le premier qui est TOURNEE, et N°GROUPE_LIVRAISON et le nom du champ sur lequel il faut faire le tri, mais ca ne marche pas , ce code cré une erreur.
0
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
12 mai 2006 à 11:44
salut,

essaie simplement:

DoCmd.OpenForm "LIVRAISON",,"N°GROUPE_LIVRAISON=Forms!TOURNEE!N°GROUPELIVRAISON"


(Si j'ai bien compris le mon des tables et des champs...)
0

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

Posez votre question
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
12 mai 2006 à 11:57
Bien vu zenon, il est vrai que le 3eme parametre de la comande openform est nomfiltre, mais je viens d'essayer la ligne de commande que tu as donnée, ca marche pas ca ouvre le formulaire avec tous les enregistrements. Mais deja merci c'est une piste je vais m'interresser plus a la commande openform plutot que de chercher une commande filter, et je vais bien voir si il y a pas moyen de faire ce que je veux.
0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
12 mai 2006 à 13:51
en fait le nomfiltre doit faire appel à une requête ou un nom de filtre. J'ai donc cré la requete suivante:

SELECT LIVRAISON.N°LIVRAISON, LIVRAISON.N°CLIENT, TOURNEE.N°GROUPE_LIVRAISON
FROM TOURNEE INNER JOIN LIVRAISON ON TOURNEE.N°GROUPE_LIVRAISON=LIVRAISON.N°GROUPE_LIVRAISON
WHERE FORMS!LIVRAISON!N°GROUPE_LIVRAISON.value=FORMS!TOURNEE!N°GROUPE_LIVRAISON;

et j'ai attaché son nom a la commande openform, mais desormais ca m'ouvre un formulaire vierge. Je crois commencer à etre sur la bonne voie et ce grace a zenon si quelqu'un pouvait me donner un petit coup de pouce pour avancer plus vitte, car en fait c'est assez urgent
0
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 180
12 mai 2006 à 21:52
Excuse-moi, je pense que j'ai oublié une virgule: si on l'ajoute, on peut encoder directement l'expression Where et les critères devraient fonctionner sans faire appel à un filtre...
0
rodrigue62 Messages postés 190 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 10 janvier 2011 30
20 juin 2006 à 14:00
donc la pour definir le critere sur lequel doit porter le champ on utilise [forms]![TOURNEE]![N°GROUPE_LIVRAISON], mais si le champ dans lequel l'on veux recuperer le critere fait partie d'un sous formulaire, comment y fait on appel?
0
magi123 Messages postés 18 Date d'inscription mardi 20 novembre 2007 Statut Membre Dernière intervention 10 décembre 2007 8
4 déc. 2007 à 15:50
comment faire pour un recherche multicriteres à partir de plusieurs feuilles d'un meme classeur
0