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 :

creation de liste deroulante en vba : probleme #?nom


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut creation de liste deroulante en vba : probleme #?nom
    bonjour

    voila je suis en train de creer un formulaire en vba.
    jai 2 table une table bonzai une table type d'arrosage.

    je creer donc mon formulaire en vba

    je voudrai afficher le libbelle du type darrosage dans une liste deroulante.
    mais lorsque que jexectue mon formulaire, jai le champs #?nom au lieu de mon champ par contre si je fais defiler je voi bien mes enregistrements
    par contre je ne peus en selectionné aucun

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub modif_form_bonzai()
    Dim ff As New Form
    Dim ctrl As New Control 'objet generique
    Dim nom As String
    Dim c As ComboBox 'pour parametrer la liste deroulante
    Dim mareq As String
    Dim monrs As New Recordset
     
    DoCmd.OpenForm "formbonzai", acDesign
     
    mareq = "select code_origine, libelle_origine from guillaume_origine, guillaume_bonzai where guillaume_origine.code_origine=guillaume_bonzai.code_origine_bonzai"
     
    Set ff = Forms("formbonzai")
     
    Set ctrl = CreateControl(ff.Name, acLabel, acDetail, , "type d'arrosage", 100, 6000, 2500, 400)
    Set ctrl = CreateControl(ff.Name, acComboBox, acDetail, , "code_origine", 3000, 6000, 2500, 400)
     
    Set c = ctrl
     
    c.ColumnCount = 2
    c.ControlSource = "code_origine"
    c.Name = "code_origine"
    c.RowSource = mareq
    DoCmd.Close asform, ff.Name, acSavePrompt
    DoCmd.OpenForm ("formbonzai")
     
    End Sub
    merci par avance

    de plus quand je clique dessus en bas dans access jai le message suivant:
    le controle ne peut etre modifier, il est lier au champs inconnue code_origine

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    vraiment je comprned plus car par exemple si je le fais avec lassistant sa marche

    donc je reporend le code de l'asistant en l'adaptant a mes besoin
    Sub code_origine_beforeupdate()

    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[NUM_BONZAI] = '" & Me![code_origine] & "'"
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

    End Sub
    quand je fais sa sa me dis me non definie alors que le code generer par lasistant est comme sa

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Est ce que la requête source de ton formulaire formbonzai retourne un champ du nom de Code_Origine?

    Si non tu ne peux pas faire ca

    c.ControlSource = "code_origine"

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    en fait ma requete me renvoie le code origine et le libelle_origine

    je ne sais pas si sa a un rapport mais mes tables sont lié avec oracle comme SGBD

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    je comprend ce que tu veus dire

    en gros il faus que je rajoute un camps code_arrosage dans mon formulaire que je cache?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Set ctrl = CreateControl(ff.Name, acTextBox, acDetail, , "code_origine_bonzai", 3000, 6000, 2500, 400)
    Set ctrl = CreateControl(ff.Name, acComboBox, acDetail, , "code_origine", 3000, 6000, 2500, 400)
     
    c.ControlSource = "code_origine_bonzai"
    un truc dans le genre?

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Alors pour test enlève cette ligne

    c.ControlSource = "code_origine"

    Il me semble aussi qu'il manque un Point virgule à la fin de ton select

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mareq = "select code_origine, libelle_origine from guillaume_origine, guillaume_bonzai where guillaume_origine.code_origine=guillaume_bonzai.code_origine_bonzai;"

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    si je fais comme tu ma dis jai le meme probleme par contre si je fais comme jai marque le message au dessus sa marche

    je te remercie ta question ma aiguiller pour comprendre
    jai une question ci desosus je la pose ici ou dans un nouveau sujet:
    je voudrai afficher le libelle en premier et pas le code dans ma liste comment je dois mis prendre?

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    tu ajoutes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c.ColumnWidths = "0 cm; 3cm"
    PS: On a posté en même temps en haut.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    merci beaucoup
    sa marche si je veus faire des cases a cocher ou des boutton radio... la synthaxe est tjs la même?

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Je crois bien.

    N'oubli pas le tag résolu

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    merci de ton aide
    mais sans doute a dans pas lompteng pour un nouveau probleme
    ++

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

Discussions similaires

  1. liste deroulante excel + vba
    Par Maxime082 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/05/2011, 21h42
  2. Réponses: 5
    Dernier message: 20/06/2008, 09h57
  3. [javascript] Probleme liste deroulante
    Par samtheh dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2005, 14h13
  4. Réponses: 5
    Dernier message: 25/10/2005, 20h51
  5. Réponses: 8
    Dernier message: 09/08/2005, 10h27

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