Problema listview odbc

Buenas amigo tengo un problema con el lisview especificamente con el subitems trato de conectarme a una bd por medio de odbc y me da un error 380 lo estraño es que si no coloco el subitems me muestra la primera columna de la base de datos te adjunto fracmeto del codigo gracias por tu ayuda
Private Sub Form_Load()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Dim db As String
db = "select * from canal"
cn.ConnectionString = "dsn=" + frmconexion.TXTIP.Text + ";uid=sa;pwd=;"
cn.Open
'-----------------------------------------
'Armar el Recordset
'-----------------------------------------
rs.Open db, cn
'-----------------------------------------
'Si hay datos, se llena el listview
'-----------------------------------------
Dim ITEM As ListItem
While (Not rs.EOF)
Set ITEM = Me.ListView1.ListItems.Add(, , rs.Fields("idcanal"))
ITEM.SubItems(1) = rs.Fields("plan")
rs.MoveNext
Wend
End Sub

1 Respuesta

Respuesta
1
Ok man ya encontre el problema. Prueba con esto
Option Explicit
Private Sub Form_Activate()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Dim fd As Field
Dim item As ListItem
Dim clm As ColumnHeader
Dim j As Integer
sql = "select * from canal"
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = C:\Documents and Settings\JarpSoft\Mis documentos\prueba.mdb"
.Open
End With
'-----------------------------------------
'Armar el Recordset
'-----------------------------------------
rs.Open sql, cn
rs.MoveFirst
'-----------------------------------------
'Si hay datos, se llena el listview
'-----------------------------------------
For Each fd In rs.Fields
Set clm = ListView1.ColumnHeaders.Add(, , fd.Name, 2 * TextWidth(fd.Name))
Next fd
While (Not rs.EOF)
Set item = Me.ListView1.ListItems.Add(, , rs.Fields("idcanal"))
For j = 1 To rs.Fields.Count - 1
item.SubItems(j) = "" & rs(j)
Next
rs.MoveNext
Wend
End Sub
Private Sub Form_Load()
With ListView1
.BorderStyle = ccNone
'//Vista en lista de campos
.View = lvwReport
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas