Private Sub Command1_Click()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim fld As ADODB.Field
    Dim itemX As ListItem
    
    cn.ConnectionString = "Driver={SQL Server};Server=Develop;Uid=SA;Pwd=;Database=Test"
    cn.Open
    
    ListView1.View = lvwReport
    ListView1.ListItems.Clear
    ListView1.ColumnHeaders.Clear
    
    Set rs = cn.Execute("select * from smenu")
    For Each fld In rs.Fields
        ListView1.ColumnHeaders.Add , , fld.Name, 1000
    Next
    
    Do While Not rs.EOF
        Set itemX = ListView1.ListItems.Add(, , IIf(IsNull(rs(0).Value), "", rs(0).Value))
        For I = 1 To rs.Fields.Count - 1
            itemX.SubItems(I) = IIf(IsNull(rs(I).Value), "", rs(I).Value)
        Next I
        rs.MoveNext
    Loop
    
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
End Sub