Insertar registro en base aun numero

Antes que nada saludos
Tengo un formulario principal que tiene los sig. Campos
numero registro=1
Ademas de otros campos
Tengo también los siguientes campos
ImporteAutorizado
Peridos
PeriodoPago
Ademas tengo un subformulario que esta vinculado al formulario principal principal
Que posibilidades hay que por medio de una Macro o VB. Que de acuerdo a los periodos del formulario principal se inserte o generen automáticamente
los registros.
Es decir que si el periodo = 24, y el pago es "Mensual"
Se generen 24 registros o se den de alta
Pero que el saldo final lo guarde en el saldo inicial del siguiente registro
y así sucesivamente hasta llegar a 0
registro1 Sdo ini = 100,000.00
registro1 perido = 1
registro1 PeriodoPago=mensual
registro1 cargo 500.00
registro1 sdo Fin 99,500.00
registro2 sdo ini 99,500.00
registro2 perido = 2
registro2 PeriodPago=mensual
registro2 cargo 500.00
registro2 sdo fin 99,000.00
y asi sucesivamente hasta completar los 24 registros y Sdo Fin =0
Ya lo intente por medio de macro pero es muy inestable a la hora de pasor los saldos finales como iniciales esto es por que tengo que guardarlos en una tabla.
También tengo una idea pero no se como plasmarla por falta de experiencia y creo que probablemente.
Se pueda desarrollar por VB
Ojala pudieras asesorarme.

1 Respuesta

Respuesta
1
Lo que debes hacer es una rutina en VB que agregue los campos en la tabla del sub formulario.
Esta rutina estará compuesta por tres partes, la primera define variables que usarás para controlar los valores que irás colocando en los campos de las tablas.
La segunda contendrá la valorización de esas variables que estarán dadas por la data que coloques en el formulario principal (crédito, plazo, etc).
La tercera y más importante es el bucle que irá agregando los campos, en él deberás ir llevando la cuenta de cada registro, para que vayas descontando el crédito, agregando el plazo, etc.
Al final el bucle finalizará dada la condición que le coloques, en este caso de los plazos, si eliges 12 terminará en 12, si eliges 24, terminará en 24, y así sucesivamente.
Ten en cuenta que en este ejemplo no estý calculando intereses de financiamiento, si los hubiera, entonces debes hacer este cálculo adicional.
El código modelo es este, lo puedes pegar al evento "al hacer clic" de un botón, te puse un comentario con tilde (') en las líneas que consideré conveniente:
Private Sub Comando1_Click()
'Escrito por Pierre García Barre
'Declara variables
Dim dbs
Dim rst
Dim meses, Cred, cuot, saldo, contador, saldocre
'Establece las tablas a trabajar
Set dbs = CodeDb
Set rst = dbs.OpenRecordset("Secundaria")
'Define las variables
contador = 1
meses = Me.Plazo
Cred = Me.Credito
cuot = Cred / meses
'Inicia bucle
Do While contador <= meses 'Mientras no se cumplan los plazos
'Agrega nuevo registro
rst.AddNew
'Coloca valores en los campos
rst("Numeros") = Me.numero
rst("Credto total") = Me.Credito
rst("mes") = contador
rst("cuota") = cuot
rst("Credito saldo") = Cred - cuot
'Actualiza recordset
rst.Update
Cred = Cred - cuot
contador = contador + 1
Loop
'refrezca el subformulario para que se vean los ingresos
DoCmd.RunCommand acCmdRemoveFilterSort
' estima error
On Error Resume Next
rst.Close: Set rst = Nothing
dbs.Close: Set dbs = Nothing
End Sub
********************
Si quieres un ejemplo, mándame tu mail para enviártelo.
Antes que nada gracias por tu asesoría
Genere un formulario con los datos proporcionados en el código pero manda error al llegar al campo numero.
Si me gustaría que me enviaras un ejemplo real te mando mi mail.
[email protected]
Nuevamente gracias por tu asesoría

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas