Crear un botón para copiar valores de una consulta a una tabla

Me pueden apoyar para la creación de un botón con código para copiar los valores de una consulta a una tabla nueva.

1 respuesta

Respuesta
2

No dices si la tabla ya está creada o debe crearla.

Vamos a suponer el primer caso.

Supongamos que la consulta tiene los campos NombreCliente, Ciudad, País y quieres que te los "pase" a la tabla1 que tiene los campos CampoA, CampoB y CampoC

Si tienes algún criterio que defina que registros de la consulta deben pasar a la tabla, en el evento Al hacer clic del botón, crea un procedimiento de evento y entre Private Sub y End Sub pon

docmd.setwarnings false

docmd.runsql"Insert into tabla1(campoa,campoB,campoC) select nombrecliente, ciudad,pais from nombreconsulta where....El criterio, por ejemplo, where pais=""España"""

Con eso sólo te pasaría a la tabla 1 aquellos registros de la consulta que su campo Pais tenga España.

Vamos a suponer que quieres pasar todos los registros de la consulta a la tabla, sin usar ningún criterio. Entonces sería

docmd.runsql"insert into tabla1(campoa,campob,campoc) select nombrecliente,ciudad,pais from nombreconsulta"

Vamos a suponer que la consulta y la tabla tienen el mismo número de campos y que se llaman igual. Podrías usar

Docmd.runsql"Insert into tabla1 select * from nombreconsulta"

O si tuvieras algún criterio

Docmd.runsql"insert into tabla1 select * from nombreconsulta where...

Por eso, sería conveniente que concretaras un poco más.

¡Gracias! 

oye y para copiar con algun criterio como es completo el codigo

Docmd.runsql"insert into tabla1 select * from nombreconsulta where...

con una fecha en especifico

No dices si la fecha está ya definida, o si está en algún control de un formulario.

Por ejemplo, debajo de la casilla Fecha de la consulta, en Criterios puedes poner

[Escriba una fecha]

Entonces, cuando vayas a abrirla te dirá que escribas una cualquiera. La escribes(recuerda el formato) y al aceptar sólo te muestra los registros que cumplan esa condición.

Si lo quieres hacer desde un botón:

1º Vamos a suponer que la fecha está en un cuadro de texto del formulario, sería

Docmd.runsql"Insert into tabla1(campoa,campob,campoC) select nombrecliente,ciudad,pais from consulta1 where fechaNac=forms!nombredelformulario!controlfecha"

2º Vamos a suponer que quieres cualquier fecha

Docmd.runsql"Insert into tabla1(campoa,campob,campoC) select nombrecliente,ciudad,pais from consulta1 where fechaNac=[por favor, sea tan amable de escribir una fecha]"

3º Vamos a suponer que quieres entre dos fechas

Docmd.runsql"Insert into tabla1(campoa,campob,campoC) select nombrecliente,ciudad,pais from consulta1 where fechaNac between [Escriba una fecha inicial] and [escriba una fecha final]"

Hay mil formas de hacerlo, por eso si pudieras concretar más o poner alguna imagen sería mejor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas