Ejecución sentencia sql

Necesito vuestra ayuda soy novatilla pero me pasa una cosa curiosa que debe tener fácil solución pero no sé encontrarla, ¿me podéis ayudar?
La cuestión es que quiero ejecutar una sentencia sql de selección y me da error, en cambio si los valores que selecciono son para una inserción no hay problema. Se ejecuta correctamente:
El código que utilizo es el siguiente:
consulta con el insert
criteri = "Insert into temporal (Municipi, GrupEdat, certessa,nacionalitat, quantitat)SELECT municipi.nommun, prova.literalEdat, prova.certessa, litNacionalitat.descnac, count(litNacionalitat.descnac) AS Quantitat FROM prova, municipi, litNacionalitat WHERE prova.municipi=municipi.codmun And prova.municipi='" & SelectMunicipi & "' And prova.literaledat='" & SelectEdat & "' And prova.nivellcobertura='" & SelectCobertura & "' And litNacionalitat.nac=prova.nacionalitat4 GROUP BY municipi.nommun, prova.literalEdat,prova.certessa, litNacionalitat.descnac;"
consulta de selección sin el insert
criteri = "SELECT municipi.nommun, prova.literalEdat, prova.certessa, litNacionalitat.descnac, count(litNacionalitat.descnac) AS Quantitat FROM prova, municipi, litNacionalitat WHERE prova.municipi=municipi.codmun And prova.municipi='" & SelectMunicipi & "' And prova.literaledat='" & SelectEdat & "' And prova.nivellcobertura='" & SelectCobertura & "' And litNacionalitat.nac=prova.nacionalitat4 GROUP BY municipi.nommun, prova.literalEdat,prova.certessa, litNacionalitat.descnac;"
Comando de ejecución
DoCmd. RunSQL criteri
este comando de ejecución sólo insert o delete
Aparece el siguiente error
Una acción EjecutarSQL requiere como argumento una instrcucción SQL.

1 respuesta

Respuesta
1
El problema que tes que DoCmd. RunSQL solo puede utilizarse para SQL que contengan consultas de acción o consultas de definición de datos.
Puede utilizar consultas de acción para anexar, eliminar y actualizar registros y para guardar un conjunto de resultados de una consulta como una tabla nueva. Puede utilizar consultas de definición de datos para crear, modificar y eliminar tablas y para crear y eliminar índices. Con la acción RunSQL (EjecutarSQL), puede realizar estas operaciones directamente desde una macro sin tener que utilizar consultas almacenadas.
Tipo de consulta Instrucción SQL
Acción
Append INSERT INTO
Delete DELETE
Make-table SELECT...INTO
Update UPDATE
Definición de datos (específica de SQL)
Create a table CREATE TABLE
Alter a table ALTER TABLE
Delete a table DROP TABLE
Create an index CREATE INDEX
Delete an index DROP INDEX
Para ejecutar una consulta de selección o una consulta de referencias cruzadas desde una macro, utilice el argumento Vista de la acción OpenQuery (AbrirConsulta) para abrir una consulta de selección o una consulta de referencias cruzadas existente en la vista Hoja de datos.
Podrías finalizar de nuevo la pregunta; parece que con el cambio de version se han quedado algunas cuestiones abiertas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas