Fecha consecutiva en access

Estoy empezando a llevar una contabilidad básica, más que básica.

En principio necesito una tabla a rellenar desde un formulario en la que anotaré las variables básicas de temperatura, humedad, etc. Y quiero que el campo indice sea la fecha ya que es el único dato que no se va a repetir. ¿Cómo puedo automatizar ese campo de forma que aparezca automáticamente al rellenar el formulario? Sería fácil decirle que pusiera la fecha del día... Pero no introduzco cada día los datos de ese día, no se si me explico.

1 respuesta

Respuesta
1

Personalmente no te aconsejo que un campo fecha sea clave principal, aunque no hay nada que no permita que lo sea. Es sólo un consejo.

Puedes hacer lo siguiente:

- Abre la tabla en vista diseño

- Selecciona el campo de fecha

- En sus propiedades te vas a la propiedad "Valor predeterminado" y ahí escribes:

Date()

Probablemente, si tu Access es en español, te lo cambie automáticamente a "Fecha()"

- Guardas los cambios

Y cada vez que abras la tabla o el formulario basado en la tabla este campo te aparecerá con la fecha del sistema.

Gracias Neckkito:

La formula esa ya la había pensado yo, pero el problema es que no inserto cada día los datos de ese día, ya que suelo guardar los datos en papel para insertar lo de cada semana de una vez, por lo que con ese sistema tendría varias entradas de fecha con el mismo día...

Como solución se me ocurre poner un id autonumérico y seguido el campo fecha que se autorrellene con una suma del primer día más el Id ¿eso se podría hacer? ¿se me nota mucho que estoy más familiarizado con excel? jiji ;-)

Gracias de nuevo.

Sinceramente, no entiendo cuál es el problema. ¿Y si dejas que se te rellene la fecha y después la cambias manualmente? A partir de Access 2007 te aparece automáticamente un selector de fechas muy "bonito" que te evita tener que escribir. Creo que estás intentando complicar lo que es muy simple. De todas maneras esto es una opinión mía y "no vinculante"... je, je...

Supongamos que tu formulario tiene un campo que se llama [Fech]. Pongo [Fech] porque no es conveniente utilizar el nombre de campo [Fecha] dado que coincide con la función Fecha() de Access y a veces da problemas por conflictos entre ambas.

Sigamos: tienes ese campo [Fech].

Sacas las propiedades del formulario y te vas a la pestaña Eventos -> Al activar registro, y le generas este código:

....

Private Sub..

Dim ultFecha as Variant

If not isnull(me.Fech.value) then exit sub

ultFecha = dmax("Fech", "NombreDeTuTabla")

If isnull(ultFecha) then

msgbox "Es la primera fecha. Debe introducirla manualmente",vbInformation, "AVISO"

Exit sub

End if

me.fech.value=ultFecha+1

End Sub

...

Te he escrito el código de cabeza por lo que si te diera algún error por favor indícame el número de error, la descripción y, cuando le des al botón "Depurar" que te aparecerá, deberías decirme qué linea te marca en amarillo.

A ver si así te funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas