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
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)
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....