¿Cómo insertar datos de un formulario continuo en una tabla?

Estoy creando un formulario continuo en el cual inserto datos, pero al momento de tratar de insertarlos en una tabla solo me inserta el primer dato (Tengo un botón de insertar donde tengo mi código), desconozco mucho de Access, espero me puedan apoyar, cuento con tres campos. Texto 1, texto 2 y texto 3, que vienen referenciados de otra tabla.

1 Respuesta

Respuesta
2

Si lo que quieres es que te guarde los datos en la tabla origen del formulario será porque en los cuadros de texto no tengas puesto en sus propiedades-datos-origen de control el campo en que quieres que te lo guarde. En caso de que te refieras a insertar en otra tabla los valores, basta con poner en el evento del botón

docmd.setwarnings false

Docmd. Runsql"insert into TablaaInsertar(uncampo, otrocampo, y otro)values(forms!nombredelform!texto1, forms!nombredelform!texto2, forms!nombredelform!texto3)"

Hola buenas tardes Icue González.

Muchas gracias por tu respuesta y para indicarte que he puesto tu código en mi botón de formulario el cual ha funcionado la inserción, pero creo que no me explique muy bien, en el formulario continuo se generan varias lineas, y solo esta insertando en la tabla una sola linea, quiero pensar que para que tome todas las lineas con todos los datos este se debe hacer mediante un ciclo, ¿Me podrías apoyar con esta duda? (adjunto el formulario que son tres lineas de prueba y donde solo me inserta la ultima linea)

De antemano agradezco tu tiempo y el apoyo brindado.

Saludos.

Por lo que dices, el botón debe estar en el encabezado del formulario. Si es así cambia el código y escribe(luego te explico)

docmd.setwarnings false

docmd.gotorecord,,acfirst

dim i as integer

for i=1 to form.recordset.recordcount

Docmd.runsql(lo de antes)...

Docmd, gotorecord,, acnext

next

En esencia, lo de setwarnings es para que no te aparezca la odiosa ventana de "Va a insertar...", si quieres verla, o borras la instrucción o en vez de true pones false

La siguiente le dice que vaya al primer registro. Luego defino una variable i para "decir" cuantos registros debe recorrer. En este caso desde el primero a al último(recordcount, cuenta los registros). Lo de docmd. Runsql... es lo que escribiste para insertar. Luego le digo que vaya al siguiente registro, que haga lo mismo, etc y termino con next, que es lo que cierra la instrucción For

¡Gracias! Por la información =D

buenas tardes Icue González.

Al momento de dar clic en el botón para generar el insert me manda el siguiente error: "Se ha producido el error 2105 en tiempo de ejecución, no se puede ir al registro especificado". 

Te adjunto el detalle del error y como es que tengo diseñado mi formulario, si crees que hay algo mal en el diseño y se puede hacer de una mejor manera con gusto acepto tu propuesta.

Saludos.

Formulario continuo (botón create es para insertar ne la tabla)

Creo que lo mejor es que me mandes un mensaje a [email protected] y te mando un ejemplo, verás como funciona. Si lo haces, en el asunto del mensaje pon tu alias Javier Delgado, ya que si no se quien es ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas