Como puedo crear un nuevo registro en una tabla automáticamente sin tener que ingresarlo desde desde un formulario .

Estoy haciendo un sistema de cobranzas (servicio de TV) he creado un formulario y dentro un subformulario que me permita admiunistrar las cobranzas del mes (ADJUNTO LA IMAGEN)

Mi pregunta es si existe una manera de crear un vuelvo registro del servicio de manera automática osea que por cada registro de cliente genere un nuevo contrato, es decir que por cada mes yo pueda generar una nuevo contrato de forma automática (por cada mes )con los datos del registro anterior ya que el servicio tiene un Valor cconstante solo utilizaría los datos de las fechas del registro anterior para generar el nuevo contrato del mes entrante ... POR FAVOR AYUDENME estaría realmente agradecido con la comunidad

1 respuesta

Respuesta

Voy a tratar de hacerlo lo más sencillo posible. Vamos a suponer que tengo un formulario con subformulario

Como puedes ver la última fechafactura del subformulario es 02/02/2020. Si en el evento Al activar registro del formulario Copia le pongo

Private Sub Form_Current()
If Month(Date) > DLast("month([fechafactura])", "facturas", "idcliente=" & Me.IdCliente & "") Then
MsgBox "Se agregará un registro con fecha del mes siguiente", vbOKOnly, "Luego no digas que no te avisé"
DoCmd.RunSQL "insert into facturas(idcliente,fechafactura,diascredito)values(idcliente,DateAdd(""m"", 1, DLast(""fechafactura"", ""facturas"", ""idcliente=" & Me.IdCliente & """)),30)"
Me!Facturas.Form.Requery
End If
End Sub

Cuando abra el formulario en ese registro o simplemente me desplace a él, primero comparará el mes del ultimo registro del subformulario con el mes de la fecha del sistema. Si este último es mayor te aparece el mensaje(que se podía suprimir), te inserta un nuevo registro en la tabla Facturas, con la fecha modificada y te la muestra en el subformulario

Cuando aceptas

Lógicamente habría que "refinar el subformulario, pero la idea es esa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas