vb 关于数据反向返回的操作

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:06:51
Private Sub Command2_Click()
Dim i As Integer
Dim strTemp As String
s = Right$(Combo1.Text, 3)
strTemp = strTemp & s & ","
For i = 0 To 11
If Check1(i) Then
strTemp = strTemp & Check1(i).Caption & ","
End If
Next i

If Len(strTemp) = 0 Then
MsgBox "请选择复选条件"
Exit Sub
End If

For i = 0 To 2
If Option1(i).Value = True Then
strTemp = strTemp & Option1(i).Caption
End If
Next i

List1.AddItem strTemp
End Sub
这段代码是把 s,Check1(i).Caption ,Option1(i).Caption添加到list中
如LIST中现在显示
268,语文,数学,美术,3
358,数学,体育,物理,化学,2
其中268=s,语文,数学,美术分别是刚才所选的Check1(i).Caption,3是 Option1(i).Caption
现在已经选完了第二项358那行,我看第一项268这行不合适,要求修改,这时点击list中的268,语文,数学,美术,3 这一行,那么Combo1将回到268这行,Check1(i)也要对应Check1(i).Caption返回到刚才所选的样子,如“语文”对应的是Check1(3),“数学”对应的是Check1(5),“语文”对应的是Check1(7),那么他们将回到Check1(3)Check1(5)Check1(7)被选择的样子,Option1(i)也要

Private Sub List1_Click()
Dim str As String, sz() As String, fhz As Long, i As Long, j As Integer
str = List1.Text
sz = Split(str, ",")
fhz = UBound(sz)
For i = 0 To 2
If Option1(i).Caption = sz(fhz) Then
Option1(i).Value = True
Else
Option1(i).Value = False
End If
Next i
For i = 0 To 11
Check1(i).Value = 0
Next i
For j = 1 To fhz - 1
For i = 0 To 11
If Check1(i).Caption = sz(j) Then
Check1(i).Value = 1
End If
Next i
Next j
For i = 0 To Combo1.ListCount - 1
Combo1.ListIndex = i
If Right(Combo1.Text, 3) = sz(0) Then
Exit For
End If
Next i
End Sub