k = "select * from tab1 where tab1.num=" & Combo1.ListIndex
Private Sub Combo1_Click()If rs1.State = adStateClosed Then
   rs1.Open k, db, adOpenKeyset, adLockOptimistic, adCmdText
End Ifrs1.MoveFirstFor i = 1 To CInt(Combo1.ListCount)
    i = i + 1
    If rs1(0).Value = CInt(Combo1.ListIndex + 1) Then
    Text1.Text = rs1(1).Value
    End If
    rs1.MoveFirst
Next
end sub
本人想在点击combox内容以后,在其他textbox中显示combox内容在数据库内其他的内容.
可是做出来之后,没有任何反应.这个程序有错么?如果不行,应该怎么样写呢?
谢谢指教!

解决方案 »

  1.   


    Private Sub Combo1_Click()
    k = "select * from tab1 where tab1.num=" & Combo1.ListIndex  '应该放在里面来吧
    If rs1.State = adStateClosed Then
       rs1.Open k, db, adOpenKeyset, adLockOptimistic, adCmdText
    End Ifrs1.MoveFirstFor i = 1 To CInt(Combo1.ListCount)
        i = i + 1
        If rs1(0).Value = CInt(Combo1.ListIndex + 1) Then
        Text1.Text = rs1(1).Value
        End If
        rs1.MoveFirst
    Next
    end sub
      

  2.   

    \If rs1(0).Value = CInt(Combo1.ListIndex + 1) Then\改为If rs1.Fields(0).Value= CInt(Combo1.ListIndex + 1) Then
      

  3.   

    \If rs1(0).Value = CInt(Combo1.ListIndex + 1) Then\改为If rs1.Fields(0).Value= CInt(Combo1.ListIndex + 1) Then
      

  4.   

    回tztz520(午夜逛街):不好意思,不行.
    回myhgyp(也许是这样的,信不信由你):我是笔误,与那个没有关系.是不是change()和click()的事?我也是把这段代码加到change()里边,也是不行.
    谁还有更好的解决方法么?就是想将点击的数据的数据集中的相应数据显示出来.
      

  5.   

    k = "select * from tab1 where tab1.num=" & Combo1.ListIndex
    Private Sub Combo1_Click()If rs1.State = adStateClosed Then
       rs1.Open k, db, adOpenKeyset, adLockOptimistic, adCmdText
    End Ifrs1.MoveFirstFor i = 1 To CInt(Combo1.ListCount)
        i = i + 1
        If rs1(0).Value = CInt(Combo1.ListIndex + 1) Then
        Text1.Text = rs1(1).Value
        End If
        rs1.MoveNext         '这应该不是movefirst,是movenext吧?
    Next
    end sub
      

  6.   

    回daviddai2003(daviddai):也不是这个问题啊~~笔误啊笔误啊~~~这个程序,就是不行:
    Private Sub Combo1_Click()k = "select * from tab1 where tab1.num=" & Combo1.ListIndexIf rs1.State = adStateClosed Then
       rs1.Open k, db, adOpenKeyset, adLockOptimistic, adCmdText
    End Ifrs1.MoveFirstFor i = 1 To CInt(Combo1.ListCount)
        i = i + 1
        If rs1(0).Value = CInt(Combo1.ListIndex + 1) Then
        Text1.Text = rs1(1).Value
        End If
        rs1.MoveNext         
    Next
    end sub
      

  7.   

    结帖!不知道为什么,即使是加上(),程序似乎也并不执行括号内的运算.只好又写了一个心的.
    感谢各位,虽然没有找出来毛病,但是还是谢谢你们的热心.Dim i As Integerrs.MoveFirst
    For i = 0 To Combo1.ListCount
    If rs(0).Value = CInt(1 + Combo1.ListIndex) Then
    Text1.Text = rs(1).Value
    Else
    rs.MoveNext
    End If
    Next i