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

Ayuda. Error '13' No coinciden los tipos.

Estas en el tema de Ayuda. Error '13' No coinciden los tipos. en el foro de Visual Basic clásico en Foros del Web. Buenas a todos. Mi idea es buscar un registro con usando como criterio 2 campos, para eso uso rs.find. Este es el codigo que genera ...
  #1 (permalink)  
Antiguo 10/09/2008, 19:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Ayuda. Error '13' No coinciden los tipos.

Buenas a todos.
Mi idea es buscar un registro con usando como criterio 2 campos, para eso uso rs.find.
Este es el codigo que genera el error:
rs2.Find "cuit= '" & cuit.Caption & "'" And "PEesquema= '" & Pesq.Value & "'", 1


Capaz tengo un error de sintaxis.....Bueno, ustedes sabran.

Esto por las dudas.

Codigo completo:
Private Sub MODI_Click()
Dim Pesq2, palta2, ptr2, ss2, pb2 As Byte
Dim x As Variant
Pesq2 = Pesq.Value
palt2 = palta.Value
ptr2 = ptr.Value
ss2 = ss.Value
pb2 = pb.Value
Do Until rs2.EOF
If Pesq2 = 1 Then
rs2.Find "cuit= '" & cuit.Caption & "'" And "PEesquema= '" & Pesq.Value & "'", 1
If palta.Value = True Then
rs2.Find "CUIT= '" & cuit.Caption & "'" And "PEalta=" & palta2, 1
If ptr.Value = True Then
rs2.Find "CUIT= '" & cuit.Caption & "'" And "PEtr=" & ptr2, 1
If ss.Value = True Then
rs2.Find "CUIT= '" & cuit.Caption & "'" And "sinsuscri=" & ss2, 1
If pb.Value = True Then
rs2.Find "CUIT= '" & cuit.Caption & "'" And "PEbaja=" & pb2, 1
End If
End If
End If
End If
End If
If rs3.BOF = False And rs3.EOF = False Then
x = rs2.Bookmark
End If
Loop
rs2.Bookmark = x
bibli.Enabled = True
caja.Enabled = True
leg.Enabled = True
palta.Enabled = True
ptr.Enabled = True
ss.Enabled = True
pb.Enabled = True
apro.Enabled = True
rech.Enabled = True
Obser.Enabled = True
Pesq.Enabled = True
End Sub
  #2 (permalink)  
Antiguo 11/09/2008, 01:52
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Ayuda. Error '13' No coinciden los tipos.

Cita:
Iniciado por DMatias Ver Mensaje
Buenas a todos.
Mi idea es buscar un registro con usando como criterio 2 campos, para eso uso rs.find.
Este es el codigo que genera el error:
rs2.Find "cuit= '" & cuit.Caption & "'" And "PEesquema= '" & Pesq.Value & "'", 1

Hola,
el método Find solamente admite un criterio de búsqueda.

Para buscar en el recordset por mas de un criterio, puedes utilizar la función Filter:

rs2.Filter "cuit= '" & cuit.Caption & "' And PEesquema= '" & Pesq.Value & "'"

Ojo que en tu código sobran las dobles comillas anterior y posterior al operador And



  #3 (permalink)  
Antiguo 11/09/2008, 06:19
 
Fecha de Ingreso: septiembre-2008
Mensajes: 5
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda. Error '13' No coinciden los tipos.

Avellaneda! Mil gracias! Me salvaste. :)
Problema resuelto.
  #4 (permalink)  
Antiguo 13/05/2009, 02:42
 
Fecha de Ingreso: abril-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda. Error '13' No coinciden los tipos.

Saludos,
Me tira el mismo error y al combiarlo por .filter, ahora me da otro error.
Mi codigo:
With MiRs
.Requery
.Filter "Mes='" & mes & "'" And "Anyo='" & anyo & "'"
If .EOF Then
List1.AddItem "Nada en este Mes"
Else
List1.AddItem !Nombre
.MoveNext
.Filter "Mes='" & mes & "'" And "Anyo='" & anyo & "'"
If .EOF Then
Exit Sub
Else
List1.AddItem !Nombre
.MoveNext
.Filter "Mes='" & mes & "'" And "Anyo='" & anyo & "'"
If .EOF Then
Exit Sub
Else
List1.AddItem !Nombre
.MoveNext
end if
end if
end if
.requery
end with

Si me pueden decir cual es mi error.
Un saludo y muchas gracias
  #5 (permalink)  
Antiguo 13/05/2009, 04:41
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Ayuda. Error '13' No coinciden los tipos.

Bueno, primero deberías indicar cual es ese "otro error" que te dá y en qué línea.

Supongo que debe ser en la línea del Filter ya que no estás asignando el valor del filtro (te falta el signo igual).

De todas formas me parece demasiado código para lo que quieres hacer. Prueba así:

Código vb:
Ver original
  1. With MiRs
  2.     .Filter = "Mes='" & mes & "' And Anyo='" & anyo & "'"
  3.     If .EOF Then
  4.         List1.AddItem "Nada en este Mes"
  5.         Exit Sub
  6.     End If
  7.     Do Until MiRs.EOF
  8.         List1.AddItem !Nombre
  9.         .MoveNext
  10.     Loop
  11. End With

Notas:
- Si los campos Mes y Anyo son numéricos, quítale las comillas simples.
- No es aconsejable utilizar como variables el mismo nombre de los campos, te puede dar algún disgusto.

  #6 (permalink)  
Antiguo 13/05/2009, 08:41
 
Fecha de Ingreso: abril-2009
Mensajes: 7
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda. Error '13' No coinciden los tipos.

Muchas gracias Avellaneda.
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 06:49.