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

VBA Access Discussion :

Récupérer le libellé contenu dans une liste déroulante [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Récupérer le libellé contenu dans une liste déroulante
    Salut à tous,

    J'ai 'a little problème'.
    Dans un formulaire 'SupprimerProspect' je sélectionne dans une première liste déroulante son secteur d'activité puis dans une deuxième sa raison sociale. Je clic sur le bouton supprimer et ça appelle une requête delete from de la table PROSPECT. Jusque là tout va bien.
    Mais en appuyant sur le bouton supprimer, ça appelle aussi une requête insert into dans la table CLIENT. La requête marche mais le soucis c'est que au lieu de récupérer la raison sociale de la liste déroulante du formulaire, il me ramène son index ce qui fait que dans ma table CLIENT, pour le tuple ajouté, la raison sociale est 0 (index de la liste déroulante) et non la raison sociale.

    Comment je peux faire pour récupérer la raison sociale et non l'index de la liste déroulante ???

    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 942
    Points : 2 294
    Points
    2 294
    Par défaut
    Bonjour

    A priori dans les propriétés de votre liste, il y a la possibilité d'indiquer la colonne qui contient l'information à garder (colonne liée de l'onglet "Données").

    Ainsi dans une liste [Num/RaisonSociale], il faut mettre "Colonne liée : 2" pour que la raison sociale soit stockée.

    On peut aussi récupérer l'info avec

    avec x numéro de la colonne -1 (car la première colonne est zéro.

    Pierre

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par pier.antoine Voir le message
    Bonjour

    A priori dans les propriétés de votre liste, il y a la possibilité d'indiquer la colonne qui contient l'information à garder (colonne liée de l'onglet "Données").

    Ainsi dans une liste [Num/RaisonSociale], il faut mettre "Colonne liée : 2" pour que la raison sociale soit stockée.

    On peut aussi récupérer l'info avec

    avec x numéro de la colonne -1 (car la première colonne est zéro.

    Pierre
    Mouarf, ça ne marche toujours pas !!! Je commence à désespérer !
    Pourtant je pense que mon code est bon
    Private Sub B_SupprimerProspect_Click()
    'var
    Dim sql As String
    Dim sqlBis As String

    'debut
    DoCmd.SetWarnings False
    If MsgBox("Vous êtes sur le point de supprimer un prospect. Etes-vous sûr?", vbYesNo) = vbNo Then
    Exit Sub
    Else
    sql = "Delete From PROSPECT Where codeProspect=" & Me.LD_Prospect.Column(0) & ";"
    DoCmd.RunSQL (sql)
    sqlBis = "insert into CLIENT (raisonSociale, nomGerant, adresse, CP, ville, telephone, adresseMail, codeCategorie) values('" & Replace(Me.LD_Prospect.Column(1), "'", "`") & "','" & Replace(Me.txt_NomGerant, "'", "`") & "','" & Replace(Me.txt_Adresse, "'", "`") & "','" & Me.txt_Cp & "','" & Replace(Me.txt_Ville, "'", "`") & "','" & Me.txt_Telephone & "','" & Me.txt_Mail & "','" & Me.LD_SecteurActivité & "');"
    DoCmd.RunSQL (sqlBis)
    MsgBox "Le prospect a bien été supprimé et ajouté en tant que client !"
    End If
    Me.LD_SecteurActivité.Value = Null
    Me.LD_Prospect.Value = Null
    Me.txt_NomGerant = " "
    Me.txt_Adresse = " "
    Me.txt_Cp = " "
    Me.txt_Ville = " "
    Me.txt_Telephone = " "
    Me.txt_Mail = " "
    End Sub

  4. #4
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 942
    Points : 2 294
    Points
    2 294
    Par défaut
    Re

    Quelle est le contenu de la liste déroulante?

    Avez-vous essayé SQLbis dans le générateur de requête d'Access?

    Pierre

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    En fait c'est bon, j'ai récupéré le libellé via une zone de texte
    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
    Private Sub B_SupprimerProspect_Click()
    'var
    Dim sql As String
    Dim sqlBis As String
     
    'debut
        DoCmd.SetWarnings False
        If MsgBox("Vous êtes sur le point de supprimer un prospect. Etes-vous sûr?", vbYesNo) = vbNo Then
            Exit Sub
        Else
            sql = "Delete From PROSPECT Where codeProspect=" & Me.LD_Prospect.Column(0) & ";"
            DoCmd.RunSQL (sql)
            sqlBis = "insert into CLIENT (raisonSociale, nomGerant, adresse, CP, ville, telephone, adresseMail, codeCategorie) values('" & Replace(Me.txt_RaisonSociale, "'", "`") & "','" & Replace(Me.txt_NomGerant, "'", "`") & "','" & Replace(Me.txt_Adresse, "'", "`") & "','" & Me.txt_Cp & "','" & Replace(Me.txt_Ville, "'", "`") & "','" & Me.txt_Telephone & "','" & Me.txt_Mail & "','" & Me.LD_SecteurActivité & "');"
            DoCmd.RunSQL (sqlBis)
            MsgBox "Le prospect a bien été supprimé et ajouté en tant que client !"
        End If
        Me.LD_SecteurActivité.Value = Null
        Me.LD_Prospect.Value = Null
        Me.txt_RaisonSociale = " "
        Me.txt_NomGerant = " "
        Me.txt_Adresse = " "
        Me.txt_Cp = " "
        Me.txt_Ville = " "
        Me.txt_Telephone = " "
        Me.txt_Mail = " "
        End Sub

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/12/2009, 20h52
  2. [MySQL] Récupérer variable avec espaces dans une liste déroulante
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/09/2007, 04h01
  3. Réponses: 17
    Dernier message: 23/07/2007, 12h31
  4. Réponses: 2
    Dernier message: 29/12/2006, 16h56
  5. Réponses: 1
    Dernier message: 28/07/2006, 10h17

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