IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

requete automatique et VBA


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut requete automatique et VBA
    bonjour! je souhaiterai qu'une requete puisse se servir d'une zone de texte de mon formulaire comme d'un critère sans passer par un rapport d'etat ou une macro...

    j'ai lu le tuto création et parametrage dynamique de requêtes, et je souhaiterai zapper le moment ou il me demande d'entre mon critère de recherche.

    l'objectif de ceci est de pouvoir me servir d'une seule requete pour afficher le nom du directeur d'un etablissement enregistré dans ma base... mais que cela change en fonction du formulaire sur lequel je suis...

    merci d'avance a ceu qui liront...

  2. #2
    Membre à l'essai
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Si tu créés ton formulaire avec un nom de champ (monChamp) dans (monFormulaire) et que dans ton critère de recherche dans ta requête tu écris =[FORMS]![monFormulaire]![monChamp], il est possible de faire la recherche.

    La seule contrainte c'est que tu dois ouvrir ton formulaire avant d'effectuer ta requête...

    Par contre, si tu veux faire une recherche en fonction du formulaire qui est ouvert... là je ne suis pas sur de pouvoir t'aider...

    De rien si j'ai pu t'aider...
    Désolé sinon

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    en fonctionnant ainsi, le problème c'est qu'il me demande tout de meme la valeur du champ, il ne lis pas la valeur contenu au moment ou je fais appel a ma requete...
    n'est il pas possible de fonctionner a l'envers?
    je m'explique: sur evenement "onclick":

    je récupère la valeur dans mon champ.
    je l'envoie dans mon formulaire dans le champ de critère,
    ensuite la requete s'ouvre.

    cela devra sans doute se programmer dans une fonction, mais je n'ai aucune idée de la tournure a donner aux choses...

    toute solution est bonne a prendre a mon niveau, je connais rien... merci de ton aide

  4. #4
    Membre à l'essai
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 22
    Points : 21
    Points
    21
    Par défaut
    Je ne suis pas sur de bien comprendre ce que tu veux faire...

    Dans Access, tu commences par créer un formulaire avec ton champ de critère (monCritère, tu dois le renommer dans les propriétés). Puis, tu enregistres ton formulaire (monFormulaire).

    Ensuite, tu vas dans l'onglet requête et tu créés la requête que tu veux... Dans le critère du champ "Directeur" tu mets =[FORMS]![monFormulaire]![monCritère]. Tu sauvegardes ta requête (maRequête).

    Tu retournes dans ton formulaire (monFormulaire) et tu ajoutes un bouton. Il va y avoir un assistant création de bouton. Dans les catégories, tu choisis Divers et dans action, Exécuter une requête. Finalement, tu choisis la requête créée précedemment (maRequête).

    Cela devrait fonctionner pour ce que tu as l'air de demander... si ce n'est pas ce que tu veux faire, il faudra être plus concis dans tes explications...

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Si tu veux seulement afficher le nom du directeur dans un textbox le plus simple est de mettre dans la propriéte source de ta textbox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =DFirst("ChampNom","NomTable","[ClefDirecteur]=" & [ClefDirecteur])
    Access va trouver le premier enr de la table 'NomTable' qui dont le champ ClefDirecteur vaut le contenu du champ ClefDirecteur contenu dans le recordset du form. S'il ne trouve pas alors tu récupère Null.

    Évidement adapte l'exemple en mettant les noms qui conviennent pour la table et les champs.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Pb Requete suppression sous VBA
    Par stan314 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 12/05/2006, 11h06
  2. [VBA] [ACCESS] Accès à une requete Access via VBA
    Par Yanmeunier dans le forum Access
    Réponses: 3
    Dernier message: 16/03/2006, 11h48
  3. [Vba + Excel] requete rechercher en vba
    Par Emcy dans le forum Access
    Réponses: 2
    Dernier message: 14/11/2005, 09h38
  4. (VBA-A] Requete access sous VBA
    Par vanima dans le forum VBA Access
    Réponses: 12
    Dernier message: 20/07/2004, 16h07
  5. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo