KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Mardi 13 mai 2008 - 05:34:07

[access] ouverture formulaire recherche VBA

Rechercher : dans
[access] ouverture formulaire recherche VBA
par rodrigue62
 Fil de Discussions
Statut : Non résolu
vendredi 12 mai 2006 à 10:33:32
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.
Répondre à rodrigue62  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rodrigue62, le vendredi 12 mai 2006 à 10:58:08 Fil de Discussions
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.
Répondre à rodrigue62

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par zenon, le vendredi 12 mai 2006 à 11:44:57 Fil de Discussions
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...)
Répondre à zenon

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rodrigue62, le vendredi 12 mai 2006 à 11:57:24 Fil de Discussions
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.
Répondre à rodrigue62

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rodrigue62, le vendredi 12 mai 2006 à 13:51:19 Fil de Discussions
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
Répondre à rodrigue62

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rodrigue62, le vendredi 12 mai 2006 à 15:11:15 Fil de Discussions
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]));
Répondre à rodrigue62

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par zenon, le vendredi 12 mai 2006 à 21:52:26 Fil de Discussions
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...
Répondre à zenon

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par rodrigue62, le mardi 20 juin 2006 à 14:00:41 Fil de Discussions
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?
Répondre à rodrigue62

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par ami_khalid01, le lundi 22 octobre 2007 à 14:21:18 Fil de Discussions
Bonjour,
comment faire pour creer dans la zone détail d'un formulaire, la commande " filter par formulaire " .
Répondre à ami_khalid01

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par magi123, le mardi 4 décembre 2007 à 15:50:11 Fil de Discussions 
comment faire pour un recherche multicriteres à partir de plusieurs feuilles d'un meme classeur
Répondre à magi123
Discussions pertinentes trouvées dans le forum
17/01 11h24[access] formulaire de recherche vba listboxProgrammation17/01 11h240
15/11 18h37[ACCESS] ouvrir un formulaire en mode ajoutProgrammation11/04 13h235
17/08 10h56Macro access: ouverture d'un formulaireProgrammation17/08 12h451
19/07 09h46ACCESS + Ouverture de formulaireProgrammation19/07 13h534
Plus de discussions sur « [access] ouverture formulaire recherche VBA » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide