Это было бы проще, если бы вы опубликовали часть своего кода, чтобы мы могли видеть, с чего вы начинаете.
Тем не менее, вы должны быть в состоянии сделать что-то похожее на ЭТО (мой VB / ADO ржавый, поэтому я мог бы немного взорвать синтаксис. Как отмечает Крис выше, VB6 становится немного длиннее) В большинстве случаев вам не нужно знать, сколько записей возвращено, чтобы заполнить ваш listView - просто используйте цикл «До» следующим образом:
Public Sub LoadListview()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim SQL As String
SQL = _
"SELECT . . . " & _
"FROM . . . " & _
"WHERE . . . "
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "YourConnectionString"
.Open
End With
Set rs = New ADODB.Recordset
rs.Open SQL, cn, adOpenForwardOnly, adLockReadOnly
With rs
If Not .EOF Then
Do Until .EOF
' Your code to populate your ListView Here
.MoveNext
Loop
End If
End With
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
Обратите внимание, что я немного упростил ситуацию. на самом деле, если вы передаете критерии в предложение WHERE, вам обычно следует использовать PARAMETERS в сочетании с объектом ADODB.Command. Я не включил ADODB.Command в этом примере.