lbA と lbB の 2 つのリストボックスがあります。正常に動作する SQL スクリプトを使用して lbA にデータを入力しています。今私がやりたいことは、lbA からアイテムを選択すると、SQL スクリプトから lbB が再び読み込まれることです。lbA から 1 つのアイテムのみを選択し、2 つ以上のアイテムを選択するか、アイテムの選択を解除すると機能し、繰り返しアイテムを追加するか、lbB からアイテムを削除しません。私はこれにどのようにアプローチするかについて困惑しています。誰でも助けてもらえますか?
これまでのコードは次のとおりです。
Private Sub lbA_Change()
Dim Num As Integer
Dim lngIndex As Long
If Me.lbA.ListIndex <> -1 Then
For lngIndex = 0 To lbA.ListCount - 1
If lbA.Selected(lngIndex) Then
Dim cnPubs As ADODB.Connection
Set cnPubs = New ADODB.Connection
Dim strConn As String
strConn = "PROVIDER=SQLOLEDB;"
strConn = strConn & "DATA SOURCE=MSSQLSERVER2008;INITIAL CATALOG=MyDB;"
strConn = strConn & " INTEGRATED SECURITY=sspi;"
cnPubs.Open strConn
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset
With rsPubs
.ActiveConnection = cnPubs
.Open "My SQl Statement"
End With
If rsPubs.EOF Or rsPubs.BOF Then
Exit Sub
End If
rsPubs.MoveFirst
With Me.lbB
.Clear
Do
.AddItem rsPubs![strName]
rsPubs.MoveNext
Loop Until rsPubs.EOF
End With
rsPubs.Close
End If
Next
End If
End Sub