Como crear una tabla mediante sql en vba en una base de datos de Access como resultado de una consulta en otra base de datos

Creo una tabla con este código y me funciona, creándome una tabla que llamo temporal en la BD que está en la ruta especificada

strSQL = "SELECT temporal.* INTO temporal IN 'D:\Base de Datos\concursosRed.accdb' FROM temporal"
DoCmd.DeleteObject acQuery, "tempQry"
Set qdf = CurrentDb.CreateQueryDef("tempQry", strSQL)
DoCmd. OpenQuery ("tempQry"), acViewNormal, acReadOnly

Pero si yo sustituyo 'D:\Base de Datos\concursosRed.accdb' por una variable tipo string (cadRuta) donde guardo la ruta de la Base de datos donde crear la nueva tabla
StrSQL = "SELECT temporal.* INTO temporal IN 'cadRuta' FROM temporal" Me da un error en tiempo de ejecución pues interpreta cadRuta como la base de datos, no el contenido de la variable.

¿Cómo puedo solucionarlo?

2 Respuestas

Respuesta
1

Basta simplemente con ponerlo como

.....IN '" & cadruta & "'....

Es decir apóstrofe comillas & y cierra & comillas apóstrofe

Respuesta
1

Pruebe con:

StrSQL = "SELECT temporal.* INTO temporal IN " & cadRuta & " FROM temporal"

No funciona

Si quiere envíeme la base de datos a [email protected] 

¡Gracias! 

He preparado este ejemplo:

Código del botón Copiar Tabla 1

Código del botón Copiar Tabla 2

Código del botón Copiar Tabla 3

Debe reemplazar los nombres de la tabla y el destino de la base de datos que recibe la tabla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas