元々Listviewコントロールを使用していたフォームがありましたが、リストボックスコントロールに変更する必要があります。ここでは、listviewに使用する元のコードを示します。私はadodbレコードセットを使用して、リストボックスを作成するためにそれを変更しようとしているが、エラーが続いている。 lv1はlistbox1です。 lv2はリストボックス2です。リストボックスにはリスト項目がありません。VB6はadodbレコードセットを使用してリストボックスに値を設定します
Private Sub PopulateListView()
Dim cnPop As ADODB.Connection
Dim rsPop As ADODB.Recordset
Dim lst As ListItem
Dim lngRecs As Long
On Error GoTo ErrPopulate
Set cnPop = New ADODB.Connection
cnPop.CursorLocation = adUseClient
cnPop.Open gcnORA
Set rsPop = New ADODB.Recordset
rsPop.Open sSQL, cnPop, adOpenDynamic, adLockReadOnly
lv1.ListItems.Clear
Do While rsPop.EOF = False
Set lst = lv1.ListItems.Add(, , rsPop!Customer_Number)
lst.SubItems(1) = rsPop!Customer_Name
rsPop.MoveNext
Loop
If rsPop.RecordCount > 0 Then
SelectButtons True
End If
With lblCount
.Caption = Format((rsPop.RecordCount), "#,##0") & IIf((rsPop.RecordCount) <= 1, " Customer", " Customers") & " found"
.Refresh
End With
rsPop.Close
cnPop.Close
Set rsPop = Nothing
Set cnPop = Nothing
Exit Sub
ErrPopulate:
MsgBox Err.Description, vbCritical, "Populate Error"
End Sub
あなたはブレークポイントを置いて、それをデバッグしました。はいの場合、そのステートメントは失敗していますか? –
はい、私はブレークポイントを置き、それをデバッグします。 – Yinah
ドゥrsPop.EOF = Falseの は、あなたが取得しているエラーは何= lv1.ListItems.Add(、、rsPop!CUSTOMER_NUMBER) lst.SubItems(1)= rsPop!CUSTOMER_NAME rsPop.MoveNext – Yinah