Agregar registros en una tabla con bucle

Si has visto la tabla de amortización que esta en las plantillas de Excel, bueno quiero hacer algo parecido en Access.

Tengo 2 tablas una de Prestamos y otra PlanPago, igualmente los formularios Prestamos y el Subformulario PlanPago que esta vinculado con Prestamos, por el NumCre

En Prestamos esta NumCre, Capital, CrePlazo, TasaInt, en la de PlanPago tengo NumCre, PlanNumCuota, PlanCapital, PlanInteres.

Lo que quiero hacer es que dependiendo del Numero de Plazo, en el formulario prestamos se genere igualmente la cantidad de registros. En la tabla PlanPago, es decir si el campo de control el Prestamos! Plazo es 12 meses, se genere 1,2,3... 12 registros en PlanPago.

Lo que he logrado hacer es esto:

Private Sub cmdAplicarPrest_Click()

Dim dbCreditos As DAO.Database
Dim rstPlanPago As DAO.Recordset

Dim Plazo As Integer
Dim CrePlazo1 As Integer
Dim CreNumero As Integer
CrePlazo1 = Forms!Prestamos!CrePlazo
CreNumero = Forms!Prestamos!CreNum

Set dbCreditos = CurrentDb()
Set rstPlanPago = dbCreditos.OpenRecordset("PlanPago")

rstPlanPago.AddNew
For Plazo = 1 To CrePlazo1
rstPlanPago("CreNum").Value = CreNumero "Aquí se detiene el proceso, el mensaje es Update sin AddNew o edit.

rstPlanPago("PlanNumCuota").Value = Plazo
rstPlanPago.Update
Next Plazo
End Sub

Ayuda!, mis conocimientos son básicos porque soy autodidacta, lo que se lo leo en internet o manuales, ya tengo 3 foros donde consulto lo mismo y no me ayudan detalladamente.

1 respuesta

Respuesta
1

Primero. Revisa que el Campo NumCre porque le pusiste CreNum y eso esta incorrecto.

Segundo. Por que no lo haces directamente sobre el formulario, porque no estás ingresando los índices en la tabla PlanPago. Es importante que ingreses los índices o claves foráneas porque sino no habrá una relación entre la tabla principal y PlanPago.

Lo que yo haría es en vez de llenarlos directamente en la tabla haría lo siguiente.

Primero establezco el Numero de cuotas con sus constantes de interés y todo.

Luego con un ciclo

Subformulario. PlanPago. Setfocus 'para establecer el foco en el formulario plan de pago.

For I=1 to NumeroCuotas

Comando para agregar un registro nuevo. Addnew en el formulario.

Luego estableces los plazos de pago y el numero de cuota.

NumCuota=i

CrePlazo = Forms!Prestamos!CrePlazo.

Next

Ese sería el procedimiento.

Aquí un código completo de un experto.

Gracias por tu tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas