Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2011, 12h10   #1
Invité de passage
 
Étudiant
Inscription : juin 2009
Messages : 13
Détails du profil
Informations personnelles :
Âge : 23

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2009
Messages : 13
Points : 4
Points : 4
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
Aphroditeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 12h52   #2
Membre Expert
 
Homme Pierre ANTOINE
Inscription : février 2008
Messages : 650
Détails du profil
Informations personnelles :
Nom : Homme Pierre ANTOINE
Âge : 43
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : février 2008
Messages : 650
Points : 1 302
Points : 1 302
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
pier.antoine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 13h27   #3
Invité de passage
 
Étudiant
Inscription : juin 2009
Messages : 13
Détails du profil
Informations personnelles :
Âge : 23

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2009
Messages : 13
Points : 4
Points : 4
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
Citation:
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
Aphroditeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 17h03   #4
Membre Expert
 
Homme Pierre ANTOINE
Inscription : février 2008
Messages : 650
Détails du profil
Informations personnelles :
Nom : Homme Pierre ANTOINE
Âge : 43
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : février 2008
Messages : 650
Points : 1 302
Points : 1 302
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
pier.antoine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 17h41   #5
Invité de passage
 
Étudiant
Inscription : juin 2009
Messages : 13
Détails du profil
Informations personnelles :
Âge : 23

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2009
Messages : 13
Points : 4
Points : 4
En fait c'est bon, j'ai récupéré le libellé via une zone de texte
Code :
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
Aphroditeuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h56.


 
 
 
 
Partenaires

Hébergement Web