Como puedo guardar registros formulario continuo access

Tengo un formulario continuo que esta basado en una consulta, pues bien los registros que me da los quiero guardar en otra tabla. ¿Alguien me podría decir como podría hacerlo?

Un saludo

1 Respuesta

Respuesta
1

Puedes hacerlo por medio de dos recordsets, algo así:

Dim rstOrigen as DAO.Recordset
Dim rstDestino as DAO.Recordset
Set rstOrigen=Me.RecordsetClone   'Coges el recordset del formulario, o puedes hacerlo cogiendo la Consulta origen, con Set rstOrigen=CurrentDb.Openrecordset("NombreConsultaOrigen")
Set rstDestino=CurrentDb.OpenRecordset("NombreTablaDestino")
Do Until rstOrigen.EOF
rstDestino.AddNew
rstDestino("Campo1")=rstOrigen("Campo1")
rstDestino("Campo2")=rstOrigen("Campo2")
rstDestino("Campo3")=rstOrigen("Campo3")
....
rstDestino.Update
rstOrigen.MoveNext
Loop

Despuéss del Loop tienes que cerrar los recordsets:

RstDestino. Close

RstOrigen. Close

Set rstOrigen=Nothing

Set rstDestino=Nothing

Muchas gracias de antemano como siempre he colocado el código de esta manera:

Dim rstOrigen As DAO.Recordset
Dim rstDestino As DAO.Recordset
Set rstOrigen = CurrentDb.OpenRecordset("CCuotaSocioActual") 
Set rstDestino = CurrentDb.OpenRecordset("TPagoCuota")
Do Until rstOrigen.EOF
rstDestino.AddNew
rstDestino("Socio") = rstOrigen("Socio")
rstDestino("Nombre") = rstOrigen("Nombre")
rstDestino("Tipo") = rstOrigen("Tipo")
rstDestino("Descuento") = rstOrigen("Descuento")
rstDestino("Importe") = rstOrigen("Importe")
rstDestino("Mensualidad") = rstOrigen("Mensualidad")

rstDestino.Update
rstOrigen.MoveNext
Loop


rstDestino.Close

rstOrigen.Close

Set rstOrigen = Nothing

Set rstDestino = Nothing

Me da un error en tiempo de ejecución '3265' no se encontró el elemento en esta

Colección y me señala la línea

rstDestino("Mensualidad") = rstOrigen("Mensualidad")

No se como tengo que ponerle en el recordset ya que en la tabla de destino el campo se llama así pero en el formulario es un texbox independiente (llamado Mensualidad) ya que es un campo que no esta en la consulta.

Si la comento me funciona perfectamente.

Si en CCuotaSocioActual no tienes el campo Mensualidad, normal que te de el error que comentas. PAra hacer referencia a un cuadro de texto, tendrás que usar Me. NombreCuadro:

rstDestino("Mensualidad") = Me.txtMensualidad, por ejemplo

¡Gracias! Ya esta solucionado como siempre, lo quería hacer para cargar las cuotas mensuales cada día de mes en la tabla TPagoCuota, luego cada vez que paguen mediante una consulta de actualización que tengo ya realizada le pongo la fecha y el campo pagado en true así si yo hago una consulta sobre esa tabla de un mes en concreto se si se pago o no.

Muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas