** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - auto crear registros a partir de otro
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

auto crear registros a partir de otro

 Responder Responder
Autor
Mensaje
Esperantia Ver desplegable
Nuevo
Nuevo


Unido: 08/Noviembre/2019
Localización: Sevilla
Estado: Sin conexión
Puntos: 1
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Esperantia Cita  ResponderRespuesta Enlace directo a este mensaje Tema: auto crear registros a partir de otro
    Enviado: 08/Noviembre/2019 a las 15:51
Buenos días. Mi primer mensaje en este foro. Acabo de registrarme.

Mi consulta es la siguiente:
Quiero que al rellenar un registro con una fecha, se cree un nuevo registro vacío para el mismo campo (cliente) con otra fecha calculada. 
No sé si se hace con tablas, formularios o consulta. 
He llegado a crear una consulta con el campo "periodicidad", de manera que al cumplimentar el registro de la fecha dada, se crea una "fecha próxima visita". Pero lo que quiero es que se cree un registro nuevo de "fecha próxima visita" en el mismo cliente.

Gracias de antemano.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 12140
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 08/Noviembre/2019 a las 16:42
Hola,

¿Que tal andamos de código VBA? 

Aunque es posible que se pueda hacer sin código, yo lo manejaría con  VBA.

En el AfterUpdate del registro lanzaría:
1. generar próxima fecha 
2. comprobar que existe la combinación cliente-proxima fecha de forma que la simple edición del campo no genere duplicidades
3. generar el nuevo registros

¿Como aplico cada punto?
1. No indicas el método de cálculo ni que hayas tenido problemas por lo que asumo que está superado
2. Un DCount con el doble criterio o un recordset filtrado a los criterios dónde evaluamos EOF
3. Mediante consulta de insercion o un recordset

Ejemploe
1. superado
2. Opción DCount
  If DCount("*", "tabla", "Cliente = " & Me!Cliente & " AND FechaProximaVisita = #" & Format(dtmProximaVisita, "mm/dd/yyyy") & "# ") = 0 Then
    Opcion Recordset
  Set rst = CurrentDb.OpenRecordset("SELECT * FROM tabla WHERE Cliente = " & Me!Cliente & " AND FechaProximaVisita = #" & Format(dtmProximaVisita, "mm/dd/yyyy") & "# "
  If rst.EOF Then

Ambas opciones estan en punto en que no existe valor
3. También con 2 opciones:
    Consulta de insercion
    Currentdb.Execute "INSERT INTO tabla  (cliente, FechaProximaVisita) VALUES(" & Me!Cliente & ", #" & Format(dtmProximaVisita, "mm/dd/yyyy") & "# "

    Recordset
    Aprovechando que lo tenemos abierto en el punto 2, llenamos
    rst.AddNew
    rst!Cliente = Me!cliente
    rst!FechaProximaVisita = dtmProximaVisita
    rst.Update


Nota 1: escrito al cuelo
Nota 2: los experimentos con gaseosa

un saludo


Xavi, un minyó de Terrassa

Mi web
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable