Hola que tal pues estoy haciendo un pequeño programa en Visual Basic 6 y me parece que tengo un pequeño error que no he podido resolver.
Acudo aqui al foros del web pues me dieron buenas referencias de este foro y tal vez me puedan ayudar, este es el codigo con el que tengo dificultad
(Uso visual basic 6,ADO y base de datos Access 7)
He aqui el codigo:
Public Sub Browse(
ByVal rs
As Recordset)
On Error GoTo Errores
Dim Itmx
As ListItem Dim X
As Integer
lsvcatalogos.ListItems.Clear
rs.MoveFirst
For i = 1
To rs.Fields.Count
If rs.Fields(i - 1).DefinedSize = 0
Then
X = 8
Else
X = 4
End If If rs.Fields(i - 1).Type = 5 Then
lsvcatalogos.ColumnHeaders.Add , , rs.Fields(i - 1).Name, TextWidth(String(rs.Fields(i - 1).DefinedSize + X, "a")), 1
Else If rs.Fields(i - 1).DefinedSize = 0
Then
lsvcatalogos.ColumnHeaders.Add , , rs.Fields(i - 1).Name, 1800, 0
Else
lsvcatalogos.ColumnHeaders.Add , , rs.Fields(i - 1).Name, TextWidth(String(rs.Fields(i - 1).DefinedSize + X, "a")), 0
End If
End If
Next i
Do Until rs.EOF
With lsvcatalogos
Set Itmx = lsvcatalogos.ListItems.Add(, , rs.Fields(0).Value)
Código:
Apartir de este codigo me muestra el error. El codigo siguiente se encarga de leer los campos de la tabla de access y los muestra en listview de mi forma pero me dice que no coinciden los tipos, y ya hice lo que pude.
For j = 1
To rs.Fields.Count - 1
Select Case rs.Fields(i).Type
Case 1
Itmx.SubItems(j) = IIf(rs.Fields(j).Value, "Si", "No")
Case 5
Itmx.SubItems(j) = Format(rs.Fields(j).Value, "$ ###,##0.000")
Case 8
Itmx.SubItems(j) = rs.Fields(j).Value
Case Else
Itmx.SubItems(j) = rs.Fields(j).Value
End Select Next j
rs.MoveNext
End With
Loop StrID = lsvcatalogos.ListItems(1).Text
StrID2 = lsvcatalogos.ListItems(1).Text
Exit Sub
Errores:
MsgBox Err.Source & " frmprincipal Browse " & Err.Number & " " & Err.Description
End Sub