• Sábado 20 de Abril de 2024, 02:41

Autor Tema:  Cargar un recordset con una tabla  (Leído 1753 veces)

ananias

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Cargar un recordset con una tabla
« en: Sábado 10 de Abril de 2010, 21:54 »
0
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

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Cargar un recordset con una tabla
« Respuesta #1 en: Martes 13 de Abril de 2010, 09:41 »
0
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
  1.  
  2. "Select *From tabla WHERE campo=" & CStr(variable) & " Order By campo ASC"
  3.  
  4.  
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...)
«Ma non troppo»
----> ModoVacaciones = False<----

ananias

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Cargar un recordset con una tabla
« Respuesta #2 en: Sábado 17 de Abril de 2010, 10:46 »
0
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.