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 :

Associer un bouton avec une zone liste déroulante à l'aide un code VB [Toutes versions]


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Associer un bouton avec une zone liste déroulante à l'aide un code VB
    Bonjour chers tous,

    Je suis un novice en VB et je viens auprès de vous solliciter de l'aide.

    J'ai conçu une base de données sur Access pour la gestion de stock.
    Un formulaire nommé Zone de recherche permet de rechercher les produit enregistrés dans la base de données.

    Mon problème est celui:

    J'ai inséré une zone liste déroulante dans laquelle il est possible de saisir le nom du produit ou de faire défiler la liste des produits inscrit dans le champs "Description" afin d'afficher le résultat sur la même page.

    Je voudrai en effet associer cette zone liste déroulante avec un bouton de validation que je nomme "Research".
    Ainsi, j'ai parcouru le net et je suis tombé sur ce code: SELECT * FRom ma_table Where ma_table.[Identifiant] = Formulaires![nom_du_form]![modifiable12]

    J'ai donc essayé de l'adapter a mon contexte en remplaçant les éléments tel que définis dans ma base de donnée comme suit: Ma_table = Gestion_Stock; Identifiant = Description, qui en fait représente le champs associé à la zone liste déroulante dans la table GESTION_STOCK; le nom du formulaire = Zone de recherche; modifiable 21 qui correspond à la zone liste déroulante que j'ai nommé Modifiable122.

    Après l'avoir inséré comme suit:

    Private Sub Research_Click()

    SELECT * From "GESTION_STOCK" Where GESTION_STOCK.[Description] = Formulaires![ZONE_DE_RECHERCE]![Modifiable122]

    End Sub

    Un message apparaît: Erreur de compilation Attendu: Case.

    Questions

    Y'aurait-il une erreur au niveau du code?
    Ce code est-il adapté à mon contexte?

    Si tel n'est pas le cas, pourriez-vous m'aider résoudre ce problème avec un code adapté à mon besoin?

    Merci d'avance et salutations!

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Fais plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Private Sub Research_Click()
     
        With Me
                .RecordsetClone.FindFirst " [Description]=" & . Modifiable122 
                .Bookmark = .RecordsetClone.Bookmark
        End With
     
    End Sub
    Attention : si Description est du texte, il faut mettre Modifiable122 entre '.

    Bonne continuation

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Cela m'étonnerait que ça fonctionne dans la mesure où chaque appel de recordsetclone instancie un nouvel objet recordset indépendant.

    Procédez plutôt ainsi :

    http://www.developpez.net/forums/d14...que-pere-fils/

  4. #4
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Associer un bouton avec une zone liste déroulante à l'aide un code VB
    Salut madefemere!

    J'ai tenté de suivre à la lettre votre code mais ce message s'affiche lorsque je clic sur le bouton: Erreur d'exécution '3464' Type de données incompatible dans l'expression du critère.

    Y a t-il quelque chose que j'aurai omis?

    Merci pour ton support.





    Citation Envoyé par madefemere Voir le message
    Bonsoir,

    Fais plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Private Sub Research_Click()
     
        With Me
                .RecordsetClone.FindFirst " [Description]=" & . Modifiable122 
                .Bookmark = .RecordsetClone.Bookmark
        End With
     
    End Sub
    Attention : si Description est du texte, il faut mettre Modifiable122 entre '.

    Bonne continuation

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    Comme je disais :
    Attention : si Description est du texte, il faut mettre Modifiable122 entre '.
    Il faudrait mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
               .RecordsetClone.FindFirst " [Description]='" & . Modifiable122 & "'"
    Maintenant, est-ce que la colonne liée de ta liste déroulante Modifiable122 contient bien du texte??

    Bonne continuation

  6. #6
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Associer un bouton avec une zone liste déroulante à l'aide un code VB
    Merci madefemere pour ton appui.

    Effectivement, la colonne liée a liste déroulante modifiable122 contient en effet du texte.

    Après modification du code comme indiqué, cela fonctionne à présent. Seul bémol, lorsqu'on sélectionne l'article dans la liste déroulante et que l'on clique sur le bouton "rechercher" pour afficher les détails, le résultat qui apparaît n'est rien d'autre le premier enregistrement de la base de données en lieu et place de l'article sélectionné.

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    Désolé, mais je ne peux t'en dire plus parce que je n'ai pas ce genre de problème avec ce code (sauf s'il y a des éléments qui ne me sont pas connus sur ton application). En illustration jointe une base avec le code.

    Bonne continuation

  8. #8
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Associer un bouton avec une zone liste déroulante à l'aide un code VB
    Salut madefemere

    Le problème est finalement résolu.

    En fait, j'ai associé le champ "DESCRIPTION" avec le champ "ID_PRODUIT" qui est un champ clé primaire... ce qui donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Research_Click()
     
    With Me
                .RecordsetClone.FindFirst " [ID_PRODUIT]=" & .Modifiable122
                .Bookmark = .RecordsetClone.Bookmark
        End With
     
    End Sub
    Merci encore pour ta disponibilité.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/04/2015, 11h53
  2. Probleme de recherche avec une zone liste déroulante
    Par QuentinYeti dans le forum Access
    Réponses: 0
    Dernier message: 20/04/2015, 16h59
  3. Réponses: 2
    Dernier message: 20/11/2009, 11h37
  4. Critère de requête avec une zone de liste dans un formulaire
    Par Dehez dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/06/2006, 12h49
  5. Réponses: 1
    Dernier message: 19/01/2006, 17h54

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