jmmsgbox (Mensajes Personalizados en MSACCESS)
Esta utileria fue diseñada despues de tanto pensar y buscar una forma mas amigable de mostrar al usuario la informacion presentada por el sistema o los mensajes personalizados lanzados por la propia aplicacion, cabe mencionar que tambien existe una version extendida del MsgBox de ACCESS (muy buena por cierto) de Juan M Afán en la direccion http://www.accessvbafaq.mvp-access.com/
La idea principal de esta utileria fue para ser utilizada en los sistemas que desarrollo, pero la pongo a disposicion de todos por si quieren probarla y claro, los comentarios buenos, malos, para mejoras y todos, son bienvenidos.
Es importante comentar que el jmmsgbox tiene la propiedad PopUp pero no es Modal lo que permite abrir mas de un jmmsgbox a la ves, esto vendria bien si tenemos una tabla con tareas, citas, o algo por el estilo solo tendriamos que comparar la hora actual contra la hora almacenada en la tabla y cuando sean iguales lanzar el jmmsgbox.
Ejemplo (muy personal, la dificultad de este depende de los conocimientos de programacion):

En el evento OnTimer de un formulario yo pongo el siguiente codigo (es un emplo simple que podria ser mas complicado), y en el Timer Interval yo puse 1000 para que se revise cada 1 segundo.
Los valores del campo skin pueden ser los sig:
0.-Estandar
1.-Verde
2.-Naranja
3.-Rojo
4.-Amarillo
5.-Rosa
6.-Azul
Private Sub
Form_Timer()
Dim sql As String
Dim rst As Recordset
sql = "Select * From [tbltareas] where fecha=#" & Date & "# And hora<=#" & Format(Now, "hh:nn") & "# and pasado=0"
Set rst = CurrentDb.OpenRecordset(sql)
If rst.BOF And rst.EOF Then
Exit Sub
End If
If Format(Now, "h:nn") = Format(rst.Fields("hora"), "h:mm") Then
jmsdmsgbox "Tarea: " & rst.Fields("tarea") & vbCrLf & _
"Fecha: " & rst.Fields("fecha") & vbCrLf & _
"Hora: " & Format(rst.Fields("hora"), "h:mm"), Informacion, "Tarea", , Aceptar, rst.Fields("skin"), "&Aceptar", , , Verdana, 10, True
CurrentDb.Execute "Update tbltareas set pasado=-1 where idtask=" & rst.Fields("idtask")
Exit Sub
End If
End Sub
Como resultado obtendre un jmmsgbox cada ves que el evento Ontimer del formulario en cuestion encuentre en evento que tenga la fecha y hora actual, la sig. imagen muestra un evento del dia Enero 19 del 2005 a las 12:23 Hrs.

Ejemplo de llamada:
Call jmsdmsgbox("Esta es una prueba del msgbox personalizado de Juan
Amador, permite cambiar el color del msgbox, tipo y tamaño de letra, asi como poner negrita y normal entre otras
cosa",Informacion,"Customize MsgBox",,Aceptar ,Amarillo,"&Cerrar",,,TrebuchetMS,8,True)

Este otro ejemplo se basa en la sig: llamada
Call jmsdmsgbox("Esta es una prueba del msgbox personalizado de Juan Amador, permite cambiar el color del msgbox, tipo y tamaño de letra, asi como poner negrita y normal entre otras cosa",Exclamacion,"Customize MsgBox",,SiNo ,Naranja,,"&Si","&No",TrebuchetMS,8,True)

Otro ejemplo
Call jmsdmsgbox("MsgBox personalizado" & vbcrlf & "Desarrollado Por: Juan Amador" & vbcrlf & "Actualizaciones seran publicadas en:" & vbcrlf & "http://www.geocities.com/famaads/jmmsgbox" & vbcrlf & "E-mail: [email protected]",Exclamacion ,"MsgBox Nuevo",,Aceptar,Azul,"&Aceptar",,,Verdana,8)

Una llamada para mujeres
Call jmsdmsgbox("Uno para mujeres, lo digo por el color !",Exclamacion ,"Skin Pink",,Aceptar,5,"&Aceptar",,,Verdana,8)

Descarga el mde version 2000 desde aqui
Instalacion:
Agregar en el cuadro de Referencias del
Editor de Visual Basic para Aplicaciones de Access
Llamada:

la funcion tiene un argumento "llamarfuncion" en la cual puedes poner
la funcion que quieras ejecutar al presionarl el boton "Si" (como es
el caso de la imagen anterior)
Autor: Juan Amador
Fecha: Enero, 18 2005
Tijuan, Baja California México