Duda msgbox

Hola querría que al pulsar el botón de salir de un formulario me apareciese un MsgBox que me preguntase ¿Has revisado las facturas hoy? Si pulso si que salga normalmente del formulario pero si pulso No quiero que automáticamente se abra la consulta Facturas, soy novata y no tengo ni idea de códigos, si me lo pudierais poner tal cual lo tengo que introducir genial
El botón de salir de formulario es el Comando27 y la consulta se llama Facturas. Gracias.
También complicándolo un poco me gustaría que sólo me hiciese la pregunta de Revisar facturas el día que existan facturas sin revisar, eso se sabe porque esa consulta "Facturas" solo tiene datos unos determinados días, otros cuando todas las facturas están revisadas no tiene datos y por tanto es absurdo que me haga la pregunta de que las revise.
Si me podéis poner las dos opciones por separado muchísimas gracias de antemano.
Un saludo desde asturias

1 Respuesta

Respuesta
1
Empecemos por aclarar algo, el formulario de las facturas debe tener un campo donde se pueda especificar si la factura ya se reviso o no, dicho campo podría ser de tipo Si/No, por lo que para access cuando el campo esta chuleado(aparece marcado) carga el valor -1 de lo contrario el valor es cero(0).
Crea un formulario basándote en la consulta facturas y por ejemplo llamalo facturassub; en el formulario del cual quieres salir, inserta como subformulario el formulario que hiciste de la consulta facturas(a este formulario créale un cuadro de texto al que puedes llamar contador y en dicho cuadro coloca lo siguiente: =cuenta(*), esto te permite ver cuantos registro tiene la consulta.
En la vista de diseño, abre las propiedades del botón cerrar (comando27) y en el generador de código de dicho botón borra todo y pega el código que te escribo a continuación:
Private Sub comando27_Click()
On Error GoTo Err_comando27_Click
If Form_facturassub!contador >= 1 Then
    c = MsgBox("¿Has revisado las facturas hoy?", vbYesNo)
    If c = 7 Then
        DoCmd.OpenForm "Facturas"
    Else
        DoCmd.Close
    End If
Else
    DoCmd.Close
End If
Exit_comando27_Click:
Exit Sub
Err_comando27_Click:
MsgBox Err.Description
Resume Exit_comando27_Click
End Sub.
Listo, ya funciona, cualquier cosa me comentas, ÉXITOS

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas