I've written a sub procedure to fill a listview with a query that I pass to it. I can't remember out how to dynamically reference the listview with the lvwItem so I can perform the procedure on different listviews. How can I do this?
Code:
Private Sub FillList(strSource As String, lvwItem As String)
Dim rs As New ADODB.Recordset
Dim colHeader As ColumnHeader
Dim lstItem As ListItem
Dim SQL As String
Dim fld As Field
Dim i As Integer
Me[lvwItem].ListItems.Clear
SQL = "SELECT * FROM " & strSource
rs.Open SQL, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
lvwLocation.View = lvwReport
For Each fld In rs.Fields
lvwLocation.ColumnHeaders.Add , , fld.Name
Next fld
rs.MoveFirst
While Not rs.EOF
' Add items and subitems to list control.
Set lstItem = lvwLocation.ListItems.Add()
lstItem.Text = rs.Fields(0)
For i = 1 To rs.Fields.Count - 1
lstItem.SubItems(i) = FormatCurrency(rs.Fields(i), 2)
Next i
rs.MoveNext
Wend
rs.Close
For i = 2 To lvwLocation.ColumnHeaders.Count
If IsNumeric(lvwLocation.SelectedItem.SubItems(i - 1)) Then
lvwLocation.ColumnHeaders(i).Alignment = lvwColumnRight
End If
Next i
End Sub