en que base de datos los tienes, yo trabajo con acces y utilizo este codigo
-----------------------------------------
Private Sub Form_Load()
Dim db As Database
Dim rs As Recordset
Dim Sql As String
Dim a As String
Set db = OpenDatabase(App.Path & "\BD.mdb")
Sql = "SELECT * FROM TABLA ORDER BY campo"
Set rs = db.OpenRecordset(Sql, dbOpenSnapshot)
List1.Clear
rs.MoveFirst
Do Until rs.EOF
List1.AddItem rs!campo
List1.ItemData(List1.NewIndex) = rs!campox
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub
-----------------------------------------------------
luego si quiero insertar los campos
----------------------------------------------
Private Sub List1_Click()
Dim db As Database
Dim rs As Recordset
Dim Sql As String
Dim filtro As String
Set db = OpenDatabase(App.Path & "\BD.mdb")
Sql = "SELECT * FROM Tabla"
Set rs = db.OpenRecordset(Sql, dbOpenSnapshot)
filtro = "campox=" & List1.ItemData(List1.ListIndex)
rs.FindFirst filtro
Form1.Text1.Text = rs!campo1
Form1.Text2.Text = rs!campo2
rs.FindNext filtro
Unload Me
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
----------------------------------------------------------
espero que te funcione
Holi