Access - Crear fichero con datos filtrados

 
Vista:

Crear fichero con datos filtrados

Publicado por Marta (47 intervenciones) el 14/12/2004 12:47:35
Hola a todos...

Selecciono un elemento en un cuadro de lista. De ahí obtengo una clave que utilizo para filtrar una serie de registros del fichero tbPreguntas. Lo que quiero conseguir es que esos registros que he filtrado se me graben en otro fichero temporal llamado tbTrabajo. Para ello utilizo el siguiente código:

Dim strFiltro As String


strFiltro = "select * from tbPreguntas where Tema_ID=" & Me.TextoTEMA & " INTO tbTrabajo"
Me.RecordSource = strFiltro

Una vez ejecuto el filtro me aparece este error:

Se ha producido el error '3075' en tiempo de ejecución:

Error de sintaxis (falta operador) en la expresión de consulta
'Tema_ID=22 INTO tbTrabajo'.

¿Alguno de ustedes ve dónde está el fallo?
¿Cómo puedo resolver ese problema?

Gracias anticipadas,
Marta

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Problema con consulta de filtrado y guardado de registros

Publicado por Alejandro (4142 intervenciones) el 19/05/2023 23:19:52
Hola, Marta.

El error que estás experimentando se debe a un problema de sintaxis en tu consulta SQL. La cláusula INTO se utiliza en Access para insertar registros en una nueva tabla, pero no se puede utilizar directamente en una consulta SELECT.

Para lograr tu objetivo de filtrar los registros y guardarlos en la tabla tbTrabajo, puedes utilizar una consulta de inserción en lugar de una consulta SELECT INTO. Aquí te muestro cómo puedes modificar tu código para lograrlo:

1
2
3
4
Dim strFiltro As String
 
strFiltro = "INSERT INTO tbTrabajo SELECT * FROM tbPreguntas WHERE Tema_ID=" & Me.TextoTEMA
CurrentDb.Execute strFiltro

En este código, utilizamos la cláusula INSERT INTO para insertar los registros seleccionados en la tabla tbTrabajo. La consulta SELECT recupera los registros filtrados de la tabla tbPreguntas utilizando el valor de Me.TextoTEMA como criterio de filtrado.

Luego, utilizamos el método Execute del objeto CurrentDb para ejecutar la consulta de inserción.

Espero que esta solución te ayude a resolver el problema de sintaxis y logres guardar los registros filtrados en la tabla tbTrabajo. ¡Buena suerte con tu proyecto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar