Incrementar fecha

Tengo una tabla que meto los datos por un formulario el primer campo
es la fecha ¿cómo puedo hacer para que al abrir el formulario me salga el ultimo día que no tiene registro?
Es decir que se comporte como el campo ide autonumérico de tabla que cuando metes el ultimo campo ya aparece
espero que me entiendas.
1

1 Respuesta

138.725 pts. He trabajado 5 años desarrollando aplicaciones tanto en...
Programe desde código, este es un ejemplo, ve al evento current (Al Activar el Registro) del formulario, y coloca lo siguiente:
**************************
Private Sub Form_Current()
if me.NewRecord then
Fecha = Date
end if
End Sub
**************************
Este evento se desencadena al activar un registro, por ejemplo al moverse a un registro anterior o nuevo...
La parte:
if me.NewRecord then
Verifica que el registro es nuevo, y acá, el texto fecha, se supone que es la caja de texto que contendrá el valor le mandamos en este caso la fecha actual...
No se si era esto, lo que necesitabas, pero ighual forma me avisas...
Att:TELEMACO
Lo probé y si me dvuelve la fecha actual pero lo que quiero es que me ponga incrementalmente el día siguiente al ultimo registrado
ejemplo:cuando meta los datos del día 15/01/06 al introducir el ultimo campo
me aparezca ya en la fecha el 16/01/06
y después cuando salga del formulario y vuelva entrar para meter más registros me salga el siguiente día que falta por poner los datos en los campos
uff espero me entiendas es que no se mucho de programación.
Gracias de nuevo
Disculpa y te agradezco tu atencion;casi lo tengo pero algún detalle me falla.
Ahora si me incrementa la fecha pero cuando abro el formulario siempre me aparece la primera fecha de la tabla.
De nuevo muchas gracias por contestar y
Ademas por tu rapidez y forma de explicarte.
Muchísimas gracias dos soluciones en una respuesta me quedo con la de que solo siva pa entrada de datos.
De nuevo gracias me fuiste de mucha ayuda
si los profesores se explicasen como tu daría gusto aprender.
Saludos desde galicia.
Lo que pasa es que los formularios muestran toda la información de la tabla, es decir si la tabla en donde se localiza el campos posee varios registros, el formulario se encarga de mostrar los datos... aunque se le puede decir que NO VISUALICE LOS DATOS, QUE SOLAMENTE SIRVA PARA AGREGAR LOS DATOS... cosa que de pronto no tienes... entonces el programa esta hecho pra que cuando AGREGUES UN NUEVO REGISTRO realize lo que tu dices... para esto verifica si el registro es nuevo (if me. NewRecord then
)... Ahora esto funcionaria si tuvieras un botón que te cree un registro nuevo... cuando agregues un botón se inicia el asistente, en la primer ventana que te sale en categorías selecciona "Operaciones con Registros" y en acción selecciona "Agregar Nuevo Registro". Hay sigue las demás instrucciones hasta que finalize.
También puede por propiedades del formulario, en la ficha datos... donde dice Entrada de datos, colocque que si..., esta propiedad hace que el formulario SOLO SIRVA PARA INGRESAR DATOS... NO SE PODRÁN VER LOS REGISTROS...
En este caso el código quedaría así:
**************************
Private Sub Form_Current()
NuevaFecha = DMax("FECHA", "NOMBRETABLA")
If Not IsNull(NuevaFecha) then
NuevaFecha = DateAdd("d", 1, NuevaFecha)
Fecha = NuevaFecha
else
Fecha = Date
end if
End Sub
**************************
Att:telemaco
Si disculpa, para eso recurriremos a la función DMax (Función máximo,
busca
el máximo valor de un campo en una tabla)
Recurriremos al mimo evento que hable anteriormente:
**************************
Private Sub Form_Current()
if me.NewRecord then
NuevaFecha = DMax("FECHA", "NOMBRETABLA")
If Not IsNull(NuevaFecha) then
NuevaFecha = DateAdd("d", 1, NuevaFecha)
Fecha = NuevaFecha
else
Fecha = Date
end if
end if
End Sub
**************************
Lo que hace es en la variable NuevaFecha guardar el valor máximo del
campo
FECHA de la tabla NOMBRETABLA (donde aparece este nombre se debe
colocar el
nombre de la tabla que se desea trabajar). En este caso devolverá la
máxima
fecha que encuentre, la función DAteAdd, sirve para incrementar en uno
(La
"d" Significa días, aquí va el intervalo que se necesita
"yyyy" es años, "m" es mes)
Los días, y luego se asigna este valor al campo Fecha del Formulario;
se
debe preguntar si no es nulo el valor en caso de que no se tenga NINGÚN
REGISTRO (If Not IsNull(NuevaFecha) then
)... En este caso devuelve la fecha actual.
La función DMax la puede cambiar por DLast (El ultimo... PERO SIGNIFICA
EL
ULTIMO REGISTRO QUE DEVUELVE EL CAMPO, aquí SIEMPRE EL ULTIMO DEBERÍA
DEVOLVER EL MÁXIMO, por eso te aconsejo DMax.
Att:telemaco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas