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

Access Discussion :

Recherche d'un champ dans un sous-formulaire


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Recherche d'un champ dans un sous-formulaire
    Bonjour à tous,

    Je souhaite faire une recherche dans un sous formulaire à partir d'un formulaire. Quand je mets le bouton de contrôle "recherche un enregistrement" :
    - sur le sous-formulaire, j'obtiens le message suivant "la commande ou l'action Rechercher n'est ps disponible pour l'instant". Je ne comprends pas pourquoi alors que cela fonctionne correctement quand je travaille directement dans le sous-formulaire.
    - sur le formulaire de base, j'obtiens le même message.

    J'ai regardé sur le forum et il semblerait qu'il fasse utiliser la syntaxe "FindFirst". je ne suis pas programmatrice et c'est du chinois pour moi. Est-ce la bonne solution ?

    Qui peut m'aider sur ce point.

    Merci à tous

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Bonjour.

    La solution par programmation fonctionne quel que soit le contexte dans laquelle tu l'appelles (ou presque).
    La méthode par "Rechercher" n'est pas toujours disponible. Elle simule une demande de recherche manuelle (touches [ctrl] [f]).
    De plus c'est une boite noire et donc on ne peut pas savoir exactement ce qui ne lui plait pas si elle ne fonctionne pas.

    VBA peut être un peu intimidant (surtout depuis de M$ pousse TRÈS fort pour l'usage des macros) mais s'en passer c'est un peu comme se passer de sa main gauche si on est droitier.

    Que souhaite-tu faire comme recherche ?
    Est-ce toujours dans le même champ ?
    Est-ce toujours une valeur égale au critère ?

    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    En fait, j'ai un numéro de facture (de type (9999/9999) dans un sous-formulaire (formulaire unique). Je veux faire une recherche d'une facture par son numéro dans le formulaire de base Client. J'ai 2 tables : une table client, une table Facture et des relations entre elles sur ID_client.
    Merci de votre aide.

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Bonjour.

    Crée
    • un champ texte pour taper le numéro (supposé nommé [RechercheNumFacture])
    • un bouton "Rechercher"


    dans le code (procédure événementielle) au click du bouton mettre quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim r as dao.recordset:set r=me.NomTonSousForm.Form.Recordset 'Récupère la liste des données
    dim critere as string: critere="NumFacture=""" & me.RechercheNumFacture & """" 'Défini ce qu'on cherche
    call r.findfisrt(critere) 'Cherche, si trouvé Access va se placer sur l'enregistrement.
    set r=nothing
    entre de sub et le end sub.

    À adapter à ta réalité pour les noms.

    A+

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Bonsoir,

    Merci. J'ai remplacé les noms des champs, des sous formulaires mais j'ai un beau message "erreur de compilation - membre de méthodes ou de données introuvables" sur le "Call r.findfisrt(critère). Le critère est bien le numFacture ou toute la phrase "numFacture &......"
    Cordialement.

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Bonjour.

    Désolé j'ai fait une faute de frappe :

    findfisrt devrait être findfirst.

    A+

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    Merci. j'aurais dû le voir. j'ai copié bêtement.
    Cordialement

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/05/2007, 16h57
  2. Réponses: 3
    Dernier message: 22/11/2006, 10h35
  3. Mettre à jour des champs dans un sous formulaire
    Par Patros dans le forum Access
    Réponses: 3
    Dernier message: 09/08/2006, 15h16
  4. Réponses: 4
    Dernier message: 30/05/2006, 20h44
  5. Visibilité d'un champ dans un sous formulaire.
    Par snoopy69 dans le forum IHM
    Réponses: 2
    Dernier message: 09/02/2006, 10h23

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