Fácil pero debo ser torpe.
Publicado por AJFM (2 intervenciones) el 22/04/2007 14:01:59
Trabajando en Visual Basic 6.0 con DAO 3.6 y ADO 10.
Base de datos en Access2000
Estoy tratando de crear un recordset a partir de una consulta de selección en la que quiero utilizar los datos de los campos de otra tabla en la claúsula WHERE.
Es decir, que de la tabla notasxobjs sólo me coja las notas que corresponden a una determinada persona. Lo he hecho con la función IF..THEN..ELSE...END IF pero no me gusta como funciona ya que tengo que recorrer toda la tabla desde el principio y eso hace que el programa ruede muy lento.
Creo que es más rápido usar una consulta de selección con la claúsula WHERE.
Esta es la consulta:
nombre= rs.Fields ("persona")
consulta = "SELECT notasxobjs.* From notasxobjs WHERE ((notasxobjs.alumno) = " & nombre & ")"
Set ntam =nt2000.OpenRecordset (consulta, dbOpenDynaset)
Me da error de sintaxis en tiempo de ejecución :
Error 3075 en tiempo de ejecución
Falta operador en la consulta.
Error de sintaxis (falta operador) en la expresión de consulta
'((notasxobjs.alumno) = FERNANDEZ RUIZ, CARLOS)'.
He revisado y probado todos los cambios que se me ocurren y ninguno funciona.
He cambiado '&' por '+' , añadido y quitado paréntesis, etc. etc. pero siempre me da el mismo error en la misma línea.
Muchas gracias.
Base de datos en Access2000
Estoy tratando de crear un recordset a partir de una consulta de selección en la que quiero utilizar los datos de los campos de otra tabla en la claúsula WHERE.
Es decir, que de la tabla notasxobjs sólo me coja las notas que corresponden a una determinada persona. Lo he hecho con la función IF..THEN..ELSE...END IF pero no me gusta como funciona ya que tengo que recorrer toda la tabla desde el principio y eso hace que el programa ruede muy lento.
Creo que es más rápido usar una consulta de selección con la claúsula WHERE.
Esta es la consulta:
nombre= rs.Fields ("persona")
consulta = "SELECT notasxobjs.* From notasxobjs WHERE ((notasxobjs.alumno) = " & nombre & ")"
Set ntam =nt2000.OpenRecordset (consulta, dbOpenDynaset)
Me da error de sintaxis en tiempo de ejecución :
Error 3075 en tiempo de ejecución
Falta operador en la consulta.
Error de sintaxis (falta operador) en la expresión de consulta
'((notasxobjs.alumno) = FERNANDEZ RUIZ, CARLOS)'.
He revisado y probado todos los cambios que se me ocurren y ninguno funciona.
He cambiado '&' por '+' , añadido y quitado paréntesis, etc. etc. pero siempre me da el mismo error en la misma línea.
Muchas gracias.
Valora esta pregunta


0