SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Jorge López en Domingo 12 de Octubre de 2003, 23:19

Título: Re: CONSULTA SQL
Publicado por: Jorge López en Domingo 12 de Octubre de 2003, 23:19
esta consulta me devuelve error(No coinciden los tipos)

por favor echenme una mano con esto.

Dim nbrecibo As Long
    nbrecibo = Val(nrecibo.Text)
    strbusca = mnhab.Text
    Set buscar = a.OpenRecordset("select * from detalle where num_hab='" + strbusca + "' And id_op = '" + nbrecibo + "'")

lo que quiero hacer es buscar el registro que cumpla con esa condición y mostarlo
la tabla se llama "detalle" y los campos a consultar son num_hab de tipo texto y id_op de tipo autonumerico, la duda esta en como enviar una consulta al campo id_op que es autonumerico.


estare agradecido..
Título: Re: CONSULTA SQL
Publicado por: observador en Lunes 13 de Octubre de 2003, 02:29
Bien... mira, el problema es que le pones comillas simples al hacer la comparacion de un valor que es numerico, osea que para que funcione y no te de el error No coinciden los tipos solo quitale las comillas simples al valor numerico... Con esto, tu codigo quedaria algo asi:

 
Código: Text
  1. Dim nbrecibo As Long
  2. nbrecibo = Val(nrecibo.Text)
  3. strbusca = mnhab.Text
  4. Set buscar = a.OpenRecordset("select * from detalle where num_hab='" & strbusca & "' And id_op = " & nbrecibo)
  5.  
  6.  
Por conveniencia, para concatenar cadenas prefiero usar el simbolo & en lugar del +... Pues con el & le digo al VB que sólo me concatene las cadenas, mientras que con el + primero debe averiguar si le estoy diciendo que sume o concatene, dependiendo del primero de los 2 elementos involucrados... con lo cual me ahorro tiempo y posibles errores logicos... que son mas dificiles de depurar que los errores sintacticos...

Suerte...
Título: CONSULTA SQL
Publicado por: Jorge López en Lunes 13 de Octubre de 2003, 17:27
gracias amigo, de verdad que tenia dos dias buscando el posible error, y tu explicación lo dice todo....


:beer::beer: