Ejecutar una macro después de borrar un registro
Tengo un formulario donde introduzco autores. Para tener un control de los autores que no tienen asociados libros, he creado otro formulario para que me diga si hay o no, y los pueda borrar. Bien, pues quiero inhabilitar el botón que da acceso a ese segundo formulario cuando no haya autores "vacíos".

Para ello, he creado dos funciones:
Public Function ContarLimpiarAutores() As String
Dim rst As DAO.Recordset
Dim strSQL As String
strSQL = "SELECT TAutores.Autor, DCount('[Autor]','[TLibros]','[TLibros].[Autor]=' & [TAutores].[ID]) AS Veces" _
& " FROM TAutores" _
& " WHERE (((DCount('[Autor]','[TLibros]','[TLibros].[Autor]=' & [TAutores].[ID]))=0))"
Set rst = CurrentDb.OpenRecordset(strSQL) 'Aquí pondrías el select completo
If rst.RecordCount > 0 Then
Do While Not rst.EOF
rst.MoveNext
Loop
End If
If rst.RecordCount = 0 Then
Else
ContarLimpiarAutores = rst.RecordCount
End If
rst.Close
Set rst = Nothing
End FunctionPublic Function DesactivarAutores(FName As Form) If ContarLimpiarAutores() = "" Then FName.CmdLimpieza.Enabled = False Else FName.CmdLimpieza.Enabled = True End If End Function
Y en el formulario, llamo a esta función en los eventos "Después de insertar un registro" y en "Después de eliminar". Sin embargo, en este último caso, cuando elimino un registro, no me inhabilita el botón.
¿Sabes por qué puede ser?
1 respuesta
Respuesta de Julián González Cabarcos
2




