Dim MyString As String
Dim NUMBER As Integer
NUMBER = 1
Do While NUMBER <= 28
MyString = Left(CStr(rs!cust_fav), NUMBER)
If (Right(MyString, 1) = 1) Then
check_1.Value = 2'这里我想把check_1.value改成check_number.value但是这样不对,我不知道该怎么写,请大家帮忙
Else
End If
NUMBER = NUMBER + 1
Loop我主要是在界面上放了很多的checkbox控件,我从数据库中读取一个字符串,来判断这些checkbox的状态

解决方案 »

  1.   

    Dim MyString As String
    Dim NUMBER As IntegerNUMBER = 1Do While NUMBER <= 28
       If (Mid(CStr(rs!cust_fav), NUMBER,1) = "1") Then
          check_1.Value = 2
       Else
          check_1.Value = 1
       End If
       NUMBER = NUMBER + 1
    Loop
      

  2.   

    把checkbox 设成控件数组,然后Dim MyString As String
    Dim NUMBER As IntegerNUMBER = 1Do While NUMBER <= 28
       If (Mid(CStr(rs!cust_fav), NUMBER,1) = "1") Then
          check(number).Value = 2
       Else
          check(number)= 1
       End If
       NUMBER = NUMBER + 1
    Loop
      

  3.   

    sorry! 笔误If (Mid(CStr(rs!cust_fav), NUMBER,1) = "1") Then
          check(number).Value = 2
       Else
          check(number).value= 1  //少了value
      

  4.   

    load check_1(NUMBER)
    check_1(NUMBER).Value = 2
    check_1(NUMBER).top = check_1(0).top+100
    check_1(NUMBER).left = check_1(0).left
    其中checkbox控件只要放一个,index值为0
      

  5.   

    checkbox创建控件数组。画一个checkbox,复制,粘贴,会提示你是否创建控件数组,点yes,再粘贴...粘贴28个.
    Dim i_integer As Integer
    Private Sub Command1_Click()
    Dim my_string() As String
    Dim mestring As String
    Dim i As Integer
    mestring = CStr(rs!cust_fav)
    For i = 0 To Check1.Count-1
    Check1.Item(i).Value = 1
    Next
    my_string = Split(mestring, "1")
    Dim my_integer As Integer
    For i = LBound(my_string) To UBound(my_string)
    my_integer = Len(my_string(i))
    go_back_check my_integer
    NextEnd Sub
    Private Sub go_back_check(i_integer1 As Integer)
    Dim me_integer As Integer
    me_integer = i_integer + i_integer1 + 1
    Check1.Item(me_integer).Value = 2
    End Sub
    经过测试ok