Imprimir página | Cerrar ventana

Suprimir Registro

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84369
Fecha de impresión: 24/Mayo/2019 a las 00:03


Tema: Suprimir Registro
Publicado por: koldo
Asunto: Suprimir Registro
Fecha de publicación: 14/Marzo/2019 a las 20:59
Hola a todos

Tengo un subform  que son básicamente registros con fechas, lo que estoy intentando es que que solo se puedan suprimir los registros de las fechas del mes en curso y posteriores pero no los anteriores.

Le he creado una advertencia con un msgbox y cancela el evento 
El problema que tengo es que me repite el msgbox 2 veces cada vez que le doy a la tecla supr si se cumple la condición, lo mismo pasa si cancelo la confirmación de eliminar el registro
Alguna sugerencia?
Muchas gracias por todo

Private Sub Form_Delete(Cancel As Integer)
On Error GoTo Err_Form_Delete

Udia = DateSerial(Year(Date), Month(Date), 0)
FG = [FechaG]

If FG <= Udia Then
MsgBox "No se puede borrar"
DoCmd.CancelEvent
Exit Sub
Else

End If

Exit_Form_Delete:
    Exit Sub

Err_Form_Delete:
    MsgBox Err.Description
    Resume Exit_Form_Delete

End Sub




Respuestas:
Publicado por: rokoko
Fecha de publicación: 15/Marzo/2019 a las 07:35
Antes o despues del msgbox pon esto a ver..

Cancel = True



Publicado por: koldo
Fecha de publicación: 15/Marzo/2019 a las 21:06
hola rokoko 

Graciasss  por responder

He probado  antes y después y sigue duplicando el msgbox

Saludos


Publicado por: rokoko
Fecha de publicación: 15/Marzo/2019 a las 21:31
Yo en una base datos tengo esto y me funciona correctamente, un solo aviso

Private Sub Form_Delete(Cancel As Integer)

If Me.Fecha <> Date Then
MsgBox "No se puede eliminar, la fecha no es la actual.", vbInformation
Cancel = True
End If

Prueba asi

If FG <= Udia Then
MsgBox "No se puede borrar"
Cancel = True
End If


Publicado por: koldo
Fecha de publicación: 16/Marzo/2019 a las 18:36
Hola Rokoko

Me sigue dando dos avisos

Solo me da un aviso si abro el subform como form, 
El sudform solo tiene otro evento que es al abrir para que vaya al ultimo registro, no tiene mas eventos, Podría ser por no haber declarado las variables? he intentado pero no se como hacerlo 
Gracias
Saludos


Publicado por: rokoko
Fecha de publicación: 16/Marzo/2019 a las 19:33
Las variables si son fecha serian asi, pero no creo que sea eso

Dim FG as Date
Dim Udia as date

Los datos que se borran son de una sola tabla o tienes alguna relacion entre tablas??

Asi como lo explicas no veo el porque de dos mensajes, algo hay por  que no ves......


Publicado por: koldo
Fecha de publicación: 17/Marzo/2019 a las 22:06
Hola Rokoko

He encontrado la causa del porque me duplicaba los mensajes, la verdad es que me he vuelto un poco loco. 
En las propiedades del form tenia la propiedad de "Permitir ediciones =No", no quiero que se puedan editar, lo he cambiado a "Si" y he bloqueado los campos que no quiero que editen y ya no duplica los mensajes.

Muchas gracias por todo

Se puede cerrar este hilo 





Imprimir página | Cerrar ventana