Contador de pedidos de un proyecto

En mi base de datos tengo una tabla de PROYECTOS y otra de PRESUPUESTOS, de manera que para un mismo Proyecto se pueden generar varios Presupuestos. Si el Proyecto por ejemplo es el 445, los Presupuestos se llamarán 445-1, 445-2, 445-3 etc. He pensado en hacerlo generando el nombre del presupuesto automáticamente de esta manera:

- Desde la ficha de Proyecto, habrá un botón que habrá otro formulario para crear un nuevo presupuesto de ese Proyecto.

- En ese formulario de nuevo presupuesto, generar un evento que asigne al campo nombrepresupuesto el valor 445-X contando de alguna manera los presupuestos ya creados en la tabla PRESUPUESTOS que tengan idproyecto=445.

¿Pueden ehcarme una mano de como hacerlo?

2 respuestas

Respuesta

Para eso que pides se hizo el DCount:

Cuenta = Nz(DCount("*", "Presupuestos", "IdProyecto = 445), 0)

Uso la función Nz para cubrir el posible nulo asignándole valor 0.

Respuesta

Supongamos que la tabla Proyectos tiene los campos NumProyecto(clave), lo que sea, etc. Y la tabla Presupuestos tiene Numproyecto(numérico), para relacionarla con Proyectos(UN Proyecto VARIOS Presupuestos), Fecha,, Numpresupuesto, yoquese, etc.

En el botón que dices puedes poner

DoCmd. OpenForm "presupuestos",,,, acFormAdd, acDialog

Y en el formulario Presupuestos en el evento después de actualizar del cuadro de texto Fecha puedes poner

NumProyecto = Forms!Proyectos!NumProyecto
DoCmd. RunCommand acCmdSaveRecord

Y en el evento Al recibir el enfoque del cuadro de texto NumPresupuesto

If DCount("fecha", "presupuestos", "numpresupuesto=forms!proyectos!numproyecto") = 0 Then
    NumPresupuesto = Forms!Proyectos!NumProyecto
    Else
    NumPresupuesto = Forms!Proyectos!NumProyecto & " - " & DCount("fecha", "presupuestos", "numproyecto=forms!proyectos!numproyecto")
    End If

Así, en el primer registro et pondrá, por ejemplo, 123, en el segundo 123-2, en el tercero 123-3

He preferido poner los eventos así, por si abrieras el formulario y no escribieras nada, que no t rellene ningún campo.

De todas formas si ves que parece liado, y quieres, mándame un mensaje a [email protected] y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias gmbgmb, ya que si no sé quien me escribe no lo abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas