Programación General > Visual Basic 6.0 e inferiores
Cargar un recordset con una tabla
(1/1)
ananias:
Hola a todos y gracias por anticipado.
Pretendo cargar un recordset con registros de una tabla que cumplan una condición contenida en una variable y
ordenarlos por un campo.
Las instrucciones que vengo empleando son las siguientes:
("Select *From tabla WHERE campo="Str(variable)) Sí funciona pero lógicamente no ordena
("Select *From tabla WHERE campo=2 Order By campo ASC") Funciona y ordena en orden ascendente
Y aquí viene mi problema:
("Select *From tabla WHERE campo="Str(variable) Order By campo ASC). Me da error de compilación marcándome
el problema a partir de la variable o sea en Order By.
Gracias a todo aquel que quiera ayudarme y un saludo a todos -_-
Nebire:
La variable hay que pasarla como texto, ya que "str(variable)" entre comillas es un texto pero la bd detecta que ese texto no puede computarse como un VALOR NUMÉRICO.
Para hacerlo hay que componerlo en partes:
--- Código: Visual Basic --- "Select *From tabla WHERE campo=" & CStr(variable) & " Order By campo ASC" Ahora si variable vale 512, entonces la consulta enviada será ...campo= 512 ...
Como ves hay que concatenar las partes. Ya que Cstr(variable) además de una función, la variable es un puntero a un dato. La BD requiere el valor pasado como texto, ella no puede interpretar que debe tomar variable como un puntero, localizar de la memoria el texto y convertirlo.... si requiere una CADENA de TEXTO, eso es lo que debes pasarle.
Date cuenta donde acaba VB y donde empieza la BD (SQL, Access,etc...)
ananias:
Por dos veces he intentado mandar un mensage de agradecimiento y no lo he conseguido.
Nebire, te comunico que con tu receta solucioné el problema :beer:
De nuevo muchas gracias a Nebire y un saludo a todos los participantes en este Foro.
Navegación
Ir a la versión completa