Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Error 13 No conciden los tipos

Estas en el tema de Error 13 No conciden los tipos en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 31/05/2009, 15:01
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Exclamación Error 13 No conciden los tipos

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
  #2 (permalink)  
Antiguo 31/05/2009, 17:26
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Error 13 No conciden los tipos

Hola, primero esta bueno que indentes un poco el codigo fuente y si es posible decir en que linea esta el error y que error te tira...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 01/06/2009, 14:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Error 13 No conciden los tipos

Hola disculpa por lo de indentacion tengo eso en mi muy estricto pero lo olvide,
espero que haya quedado claro y si no reafirmamelo por favor, espero me puedas ayudar MIL GRACIAS.

Public Sub Browse (ByVal 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
Set ItemX = lsvcatalogos.ListItems.Add(, , rs.Fields(0).Value)
Apartir de este codigo se pasa al sub Errores donde dice "Error 13 No Coinciden Los Tipos", este codigo lo asigno para que me lea c/uno de los campos de la tabla el cual no lo hace.
For j = 1 To rs.Fields.Count - 1
Select Case rs.Fields(j).Type
Case 1
ItemX.SubItems(j) = IIf(rs.Fields(j).Value, "Si", "No")
Case 5
ItemX.SubItems(j) = Format(rs.Fields(j).Value, "$ ###,##0.000")
Case 8
ItemX.SubItems(j) = rs.Fields(j).Value
Case Else
ItemX.SubItems(j) = rs.Fields(j).Value
End Select
Next j
rs.MoveNext
Loop
StrID = lsvcatalogos.ListItems(1).Text
StrID2 = lsvcatalogos.ListItems(1).Text
Exit Sub
Errores:
MsgBox Err.Source & " frmcatalogos Browse " & Err.Number & " " & Err.Description
End Sub

Cualquier respuesta esta muy bien recibida, de antemano GRACIAS.
  #4 (permalink)  
Antiguo 02/06/2009, 08:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Error 13 No conciden los tipos

Es importante que declares todas las variables que vayas a usar.

Además, si te fijas, al inicio declaras Itmx como ListItem, pero no la usas. Sólo usas ItemX que no está declarado.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 03/06/2009, 16:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Error 13 No conciden los tipos

Public Sub Browse (ByVal As Recordset)
On Error GoTo Errores
Dim Itemx 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
Set ItemX = lsvcatalogos.ListItems.Add(, , rs.Fields(0).Value)
Apartir de este codigo se pasa al sub Errores donde dice "Error 13 No Coinciden Los Tipos", este codigo lo asigno para que me lea c/uno de los campos de la tabla el cual no lo hace.
For j = 1 To rs.Fields.Count - 1
Select Case rs.Fields(j).Type
Case 1
ItemX.SubItems(j) = IIf(rs.Fields(j).Value, "Si", "No")
Case 5
ItemX.SubItems(j) = Format(rs.Fields(j).Value, "$ ###,##0.000")
Case 8
ItemX.SubItems(j) = rs.Fields(j).Value
Case Else
ItemX.SubItems(j) = rs.Fields(j).Value
End Select
Next j
rs.MoveNext
Loop
StrID = lsvcatalogos.ListItems(1).Text
StrID2 = lsvcatalogos.ListItems(1).Text
Exit Sub
Errores:
MsgBox Err.Source & " frmcatalogos Browse " & Err.Number & " " & Err.Description
End Sub

Creo que ya esta corregido. Por Favor Cualquier Respuesta Es Buena
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:21.