2009-09-28 7 views
0

Lorsque je sélectionne la valeur de la zone de liste déroulante, la valeur liée doit apparaître dans la zone de texteLorsque je sélectionne la valeur de la zone de liste déroulante, la valeur liée doit apparaître dans la zone de texte

code ComboBox.

cmd.CommandText = "select distinct PERSONID from T_PERSON" 
    Set rs = cmd.Execute 
    While Not rs.EOF 
     If Not IsNull(rs("PersonID")) Then 
      txtno.AddItem rs("PersonID") 
     End If 
     rs.MoveNext 
    Wend 

Dans la liste des comboBox d'identité DIFFUSE, lorsque je sélectionne l'identifiant de personne en particulier, le nom doit afficher dans la boîte de texte relatif à la personid

Text Box

cmd.CommandText = "select distinct Name from T_Person where personid = '" & txtno & " '" 
    Set rs = cmd.Execute 

    While Not rs.EOF 
     If Not IsNull(rs("Name")) Then 
    txtName.Text = rs("Name") 
      rs.MoveNext 
     End If 
    Wend 

je mets ci-dessus code dans l'événement Form_Load, Rien ne s'affiche dans la zone de texte.

Quel est le problème dans mon code.

besoin Code VB6 Aide

Répondre

1

Vous voulez que le 2ème bloc de code dans le cas de clic pour le combobox.

Modifier

Il ressemble à un autre couple de problèmes dans votre code à cette ligne:

cmd.CommandText = "select distinct Name from T_Person where personid = '" & txtno & " '" 

2 Questions:

  • Vous passez dans le contrôle lui-même comme la personne ID, pas la valeur sélectionnée.
  • Vous avez un espace supplémentaire dans votre requête après que la personne ID
  • Vous devez modifier cette ligne comme:

    cmd.CommandText = "select distinct Name from T_Person where personid = '" & txtno.SelectedItem.Text & "'" 
    
    +0

    Cette réponse est correcte le code doit être dans l'événement Click pas l'événement de chargement de formulaire. –

    1

    Pourquoi ne pas avoir le combobox afficher le nom et maintenez-la personID comme il est l'article Les données?

    cmd.CommandText = "select distinct PERSONID, Name from T_PERSON WHERE PersonID IS NOT NULL" 
    Set rs = cmd.Execute 
    While Not rs.EOF 
        combo.AddItem rs("Name").value 
        combo.ItemData(combo.NewIndex) = rs("PERSONID").value 
        rs.MoveNext 
    Wend 
    

    Ensuite, si vous avez besoin PersonID pour le nom sélectionné, vous pouvez simplement saisir combo.ItemData (combo.ListIndex).

    Questions connexes