SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Jorge López en Miércoles 1 de Octubre de 2003, 20:16

Título: Re: error:No coinciden los tipo
Publicado por: Jorge López en Miércoles 1 de Octubre de 2003, 20:16
hola que tal amigos..

tengo la siguiente consulta:
Dim reco1 As Recordset
dim num as integer
num=1
Set reco1 = a.OpenRecordset("select * from Status where nun_hab = '" + num + "'" )
           If reco1.RecordCount > 0 Then
                            reco1.Edit
                            reco1!Status = 2
                            reco1.Update
            End If
en la tabla status, el campo "nun_hab" es de tipo numerico-integer,alli tengo solo dos campos el nun_hab y el status, pero cuando hago esta consulta me devuelve un error diciendo que "No coinciden los tipos de datos"

lo que quiero es cambiar el valor de status donde el campo nun_hab sea igual a 1.
echenle un ojo a ver que será?
:question:
Título: Re: error:No coinciden los tipo
Publicado por: ccortes en Miércoles 1 de Octubre de 2003, 20:42
sustituye ' " + num + " '  por ' " & num & " '
Título: Re: error:No coinciden los tipo
Publicado por: Jorge López en Miércoles 1 de Octubre de 2003, 21:15
Carlos ya habia probado de esa forma y me da el siguiente error:


Data type mismatch in criteria expression:gracias:
Título: Re: error:No coinciden los tipo
Publicado por: ccortes en Miércoles 1 de Octubre de 2003, 23:07
Hace algun tiempo tuve ese problema, he de imaginar que usas Access, para solucionarlo lo que hice fue poner todos los campos de la tabla como texto y validar la entrada de datos desde visual.

Pruebalo asi y veras que te funciona

Suerte !!!!!!!!!!!!!!
Título: error:No coinciden los tipo
Publicado por: observador en Jueves 2 de Octubre de 2003, 04:48
Bien... mira, el problema es el siguiente, si como dices "el campo 'nun_hab' es de tipo numerico-integer", pues la sintaxis de la consulta es incorrecta...

Como a simple vista no se ve pues copie el codigo de colsulta SQL y mire que le pones comillas simples... pues el problema es que no lleva comillas simples ya que el campo es de tipo numerico y no cadena...

Entonces tu codigo quedaria algo asi:

 
Código: Text
  1. Set reco1 = a.OpenRecordset("select * from Status where nun_hab = " & num)
  2.  

Suerte...