Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

¿ Error de sintaxis?

Estas en el tema de ¿ Error de sintaxis? en el foro de Visual Basic clásico en Foros del Web. Estimados compañeros tengo una consultilla y duda, al realizar la busqueda de un determinado registro me sale en la siguiente linea error de sintaxis: rs.Open ...
  #1 (permalink)  
Antiguo 04/02/2010, 13:45
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 14 años, 5 meses
Puntos: 0
¿ Error de sintaxis?

Estimados compañeros tengo una consultilla y duda, al realizar la busqueda de un determinado registro me sale en la siguiente linea error de sintaxis:

rs.Open "select * from ta_ana_fis_qui where ano ='"periodo"' ", cn

Donde le envio el parametro periodo desde teclado.

Por favor necesito vuestra ayuda.
Saludos
  #2 (permalink)  
Antiguo 04/02/2010, 13:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿ Error de sintaxis?

Supongo que es una variable, así que deberías concatenarlo:
Código vb:
Ver original
  1. rs.Open "select * from ta_ana_fis_qui where ano ='" & periodo & "' ", cn
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 04/02/2010, 13:55
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ¿ Error de sintaxis?

Estimado David, cambie el dato. Sin embargo me sale el siguiente error "No coinciden los tipos de datos en la expresion de criterios"; donde periodo es de una variable numerica de access. Gracias de antemano .saludos
  #4 (permalink)  
Antiguo 04/02/2010, 14:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿ Error de sintaxis?

¿Estás usando Access? ¿Qué tipo de campo es 'ano'?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 04/02/2010, 14:15
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ¿ Error de sintaxis?

Estimado David, es de tipo numerico y la base de datos esta en access.
Saludos
  #6 (permalink)  
Antiguo 04/02/2010, 14:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿ Error de sintaxis?

Si es numérico, no debería ir entre comillas:
Código vb:
Ver original
  1. rs.Open "select * from ta_ana_fis_qui where ano = " & periodo, cn
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 04/02/2010, 14:26
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ¿ Error de sintaxis?

Gracias Estimado David y una ultima consulta como puedo realizar la misma consulta, pero comparando ademas de ano ,la variable ambiente que es de tipo cadena y la variable fecha_muestreo que es de tipo date. Donde utilizo el operador logico AND.
Esa seria mi ultima consulta.

Saludos Cordiales
  #8 (permalink)  
Antiguo 04/02/2010, 14:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ¿ Error de sintaxis?

En la consulta:
Código SQL:
Ver original
  1. SELECT * FROM ta_ana_fis_qui WHERE ano = var_year AND ambiente = 'var_texto' AND fecha_muestreo = #var_fecha#;
Sólo tienes que concatenar las variables correctamente.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 04/02/2010, 15:07
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ¿ Error de sintaxis?

Estimado David muchas gracias. Ya funciona.
Saludos Cordiales

Etiquetas: sintaxis
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:37.