Problème de listes déroulantes [Résolu]

Signaler
Messages postés
37
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
31 juillet 2012
-
Messages postés
37
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
31 juillet 2012
-
Bonjout à tous,

J'ai un problème avec les listes déroulantes:

j'ai une table Salarié(id_Salarié, nom_Salarié)
J'ai une liste déroulante dans un formulaire avec que les noms des salariés.
Et j'aimerais récupérer l'id_Salarié correspondant au nom pour pouvoir faire une insertion dans une autre table

Est ce que quelqu'un à la solution à ce problème?

merci d'avance

2 réponses

Messages postés
37
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
31 juillet 2012

Finalement, j'ai trouvé plus simple

J'ai fais une liste avec l'id_Salarié et le nom_Salarié
Dans largeur colonne de la liste je met 0cm;2,54cm par exemple
l'id n'est donc pas visible

Et apres dans VBA je le récupère avec Me.id_Salarié.Column(0)

Voila en espérant que ça aide d'autres personnes
Messages postés
14765
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 janvier 2021
151
Bonjour

Pour solutionner ce pb, j'ai fait une petite classe :
''' <summary>
''' Classe pour l'affichage d'un ID et d'un Numéro
''' </summary>
''' <remarks></remarks>
Friend Class ClsIdAff
    Implements IComparable

    ''' <summary>
    ''' Mémorise la référence
    ''' </summary>
    ''' <remarks></remarks>
    Private mID As Integer
    ''' <summary>
    ''' Mémorise le nom
    ''' </summary>
    ''' <remarks></remarks>
    Private mName As String
    ''' <summary>
    ''' Affiche le numéro même si le nom est connu
    ''' </summary>
    ''' <remarks></remarks>
    Private mShowNum As Boolean

    ''' <summary>
    ''' Constructeur de la classe
    ''' </summary>
    ''' ID

    ''' Nom

    ''' Force l'affichage du numéro

    ''' <remarks></remarks>
    Public Sub New(ByVal pID As Integer, ByVal pName As String, ByVal pShowNum As Boolean)
        mID = pID
        mName = pName
        mShowNum = pShowNum
    End Sub

    ''' <summary>
    ''' Retourne une String caractérisant l'objet
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function ToString() As String
        If mName.Length > 0 Then
            If mShowNum Then
                Return mName + " (" + CStr(mID) + ")"
            Else
                Return mName
            End If
        Else
            Return CStr(mID)
        End If
    End Function
    ''' <summary>
    ''' Implémentation de la compairaison des instances
    ''' </summary>
    '''

    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function CompareTo(ByVal obj As Object) As Integer Implements System.IComparable.CompareTo
        If TypeOf obj Is ClsIdAff Then
            Dim lCRItem As ClsIdAff = CType(obj, ClsIdAff)
            If mName.Length > 0 And lCRItem.mName.Length = 0 Then
                Return -1
            ElseIf mName.Length = 0 And lCRItem.mName.Length > 0 Then
                Return 1
            Else
                Return mID.CompareTo(lCRItem.mID)
            End If
        Else
            Return 0
        End If

    End Function

    ''' <summary>
    ''' Retourne ou définit l'ID
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property ID() As Integer
        Get
            Return mID
        End Get
        Protected Set(ByVal pValue As Integer)
            mID = pValue
        End Set
    End Property
    ''' <summary>
    ''' Retourne ou définit le nom
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property Name() As String
        Get
            Return mName
        End Get
        Protected Set(ByVal value As String)
            mName = value
        End Set
    End Property
End Class

tu n'as qu'à instancier et à ajouter. Ensuite cast l'élément sélectionné, et c'est parti.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site