Dudas con las consultas y los campos Access

Tengo un par de dudas a ver si tienen solución:

1º. Duda en consulta:

Tengo una base de datos de facturas, la cual tiene un campo fecha factura, bien, para no cometer errores en las fechas de las facturas yo manualmente en la consulta que "alimenta" al formulario de facturas en el campo fecha factura le pongo el dato (>#31/08/2022#) para las facturas del mes de septiembre de 2022, la duda: ¿Hay alguna forma de poner un campo en un formulario para que cambie esa fecha?

2º. Duda en formulario:

Si en un formulario tenemos dos campos (operación) y (sin operación). ¿Hay alguna forma de que si el campo operación tiene datos en el campo sin operación no se pueda escribir?

2 Respuestas

Respuesta
1

Juan Pedro, como bien te dicen, las facturas deben ser correlativas( si no quieres que la Agencia Tributaria te de un toque). Yo personalmente te propondría que el control Numfactura del formulario estuviera bloqueado, para que no se pudiera trastear, y que se rellenara automáticamente con un número, por ejemplo, superior en 1 al último número guardado, siempre y cuando la fecha de la factura sea superior a la última fecha guardada. Por ejemplo, si el último registro es

O sea, la número 002 del año 22, es un ejemplo.

Si me voy a un registro nuevo, que estará en blanco

Escribo la fecha de venta

Puedes ver que el cursor aún está en Fecha Venta. Cuando pulso Enter

Ahora es la factura 003 del 2022 y el cursor se va al Nombre del cliente.

En el caso de los dos controles, lo puedes hacer en el evento Al recibir el enfoque, o en el evento Después de actualizar o...

If not isnull([operacion]) then

SinOperacion.enabled=false

else

sinoperacion.enabled=true

end if

Depende de cómo "rellenes" el formulario.

Respuesta

Si se hacen las cosas de forma correcta, una factura solo debería admitir la fecha de su creación (otra cosa es su vencimiento, que si puede ser pactado en tiempo y forma), pues el número, al igual que la fecha, ha de ser correlativo ascendente.

Una regla que se puede imponer es que sea su fecha ha de ser igual o mayor que la de última factura creada (al igual que el numero ha de ser 'el siguiente al más alto) y no sería necesario guardar dato alguno (se utilizarían los existentes).

Si, basta que se evalúe si el campo 'operación' tiene valor (por ejemplo, en el evento al recibir el foco) y de tenerlo se envíe el foco a otro lugar.

También se le puede bloquear en tiempo de ejecución (y reevaluarlo al cambiar de registro).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas