2009-09-28 72 views
0

當我從組合框中選擇值時,相關值應出現在文本框中當我從組合框中選擇值時,相關值應出現在文本框中

組合框代碼。

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 

在ID的框列表顯示的是,當我選擇特定的人的ID,名稱應顯示在相關PERSONID

文本框

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 
文本框中

我把上面的Form_Load事件中的代碼,文本框中不顯示任何內容。

我的代碼有什麼問題。

需要VB6代碼幫助

回答

1

你想的代碼2號地塊在組合框中單擊事件。

編輯

有看起來像這行代碼中的另一對夫婦的問題:

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

2個問題:

  • 你本身傳遞控制的人ID,而不是選定的值。
  • 你的人的ID後,在您的查詢的額外空間
  • 你應該把上面一行是:

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

    這個回覆是正確的代碼需要在Click事件而不是表單加載事件。 – 2009-09-29 12:18:50

    1

    爲什麼沒有組合框中顯示的名稱和持有的PERSONID,因爲它的項目數據?

    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 
    

    然後,如果需要,將personId選定名稱,你可以隨便抓combo.ItemData(combo.ListIndex)。

    相關問題