Campo númerico restricción según otro campo

Discute sobre las herramientas de la base de datos
Responder
pinkfloyd
Mensajes: 26
Registrado: Jue Mar 04, 2021 11:11 pm

Campo númerico restricción según otro campo

Mensaje por pinkfloyd »

Estoy dándole forma a la base de datos del hilo anterior.
En el formulario entrada tengo la columna cantidad planeada y cantidad real quisiera ver si se puede poner un limitante en la carga de datos de la columna cantidad real que debería ser igual o menor a la cantidad planteada.
Adjuntos
inventario_pellet.zip
(48.08 KiB) Descargado 20 veces
Linuxmint 20 Openoffice 4.19
pinkfloyd
Mensajes: 26
Registrado: Jue Mar 04, 2021 11:11 pm

Re: Campo númerico restricción según otro campo

Mensaje por pinkfloyd »

Y ahora que lo pienso en salida no me debería dejar descontar más de lo que tengo en stock para no generar números negativos.
No quiero que me hagan el trabajo pero siento que en estas cosas avanzadas no estoy muy aceitado. Creo que con esos puntos resueltos ya sería suficiente para mí.
Y ante todo las gracias por respuestas o pasos a seguir para poder resolver el misterio
Linuxmint 20 Openoffice 4.19
pinkfloyd
Mensajes: 26
Registrado: Jue Mar 04, 2021 11:11 pm

Re: Campo númerico restricción según otro campo

Mensaje por pinkfloyd »

He probado con esta macro

Código: Seleccionar todo

Sub ValidarCantidadReal(oEvent)
    Dim oForm As Object
    Dim nCantidadPlaneada As Double
    Dim nCantidadReal As Double

    ' Obtiene el formulario
    oForm = oEvent.Source.Model.Parent

    ' Obtiene los valores
    nCantidadPlaneada = oForm.getByName("Cantidad_Planeada").CurrentValue
    nCantidadReal = oForm.getByName("Cantidad_Real").CurrentValue

    ' Verifica la validación
    If nCantidadReal > nCantidadPlaneada Then
        MsgBox "La cantidad real no puede ser mayor a la cantidad planeada.", 16, "Error de Validación"
        oForm.getByName("Cantidad_Real").Text = "" ' Limpia el campo
    End If
End Sub

Pero parece no tener efecto
Linuxmint 20 Openoffice 4.19
FJCC-ES
Mensajes: 913
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Campo númerico restricción según otro campo

Mensaje por FJCC-ES »

Para poner la limitación en la tabla Entradas que Cantidad_Real <= Cantidad_Planeada, elija el menú Herramientas → SQL y ejecute

Código: Seleccionar todo

ALTER TABLE "Entradas" ADD CONSTRAINT "Cant_Real" CHECK ("Cantidad_Real" <= "Cantidad_Planeada")
Última edición por FJCC-ES el Mar Dic 10, 2024 2:07 pm, editado 1 vez en total.
pinkfloyd
Mensajes: 26
Registrado: Jue Mar 04, 2021 11:11 pm

Re: Campo númerico restricción según otro campo

Mensaje por pinkfloyd »

FJCC-ES el codigo funciona pero se le podria agregar una ventana de aviso ?

Usando tu codigo y la macro sale este cartel si la cantidad real el superior a la planeada
Adjuntos
Captura de pantalla_2024-12-10_09-01-29.png
Captura de pantalla_2024-12-10_09-01-29.png (17.33 KiB) Visto 433 veces
Linuxmint 20 Openoffice 4.19
FJCC-ES
Mensajes: 913
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Campo númerico restricción según otro campo

Mensaje por FJCC-ES »

No sé si es posible agregar una ventana de aviso. Lo intentaré.
Responder