Espocion Inicial: Necesito eliminar una consulta y un informe en otra mdb, y tengo que hacerlo de forma periodica, por lo que tengo que automatizar el proceso, ¿como lo hago? RESPONDE JUAN. M. AFAN DE RIBERA ================================ con esta funcion pasandole como parámetros los nombres de la bd, consulta e informe, los borrarás de la otra bd (si existen,claro). La línea On Error Resume Next la he puesto por si no existieran esos objetos. Si te fijas, al utilizar este método puedes hacer practicamente todo lo que harías por código en la base de datos actual, siempre haciéndolo a través del objeto "app". Function BorrarObjetos(nomBD As String, nomConsulta As String, nomInforme As String) Dim app As Access.Application Set app = GetObject(nomBD) On Error Resume Next app.DoCmd.DeleteObject acQuery, nomConsulta app.DoCmd.DeleteObject acReport, nomInforme app.CloseCurrentDatabase Set app = Nothing End Function RESPONDE BUHO ============= Dim dbs As New Access.Application dbs.OpenCurrentDatabase "C:\MiCarpeta\datos.Mdb", False 'Para borrar dbs.DoCmd.DeleteObject acQuery, "Nombre" dbs.CloseCurrentDatabase Set dbs = Nothing JUAN PONE YA LA FUNCION BUENA ============================= Function BorrarObjetos(nomBD As String, Optional nomConsulta As String, Optional nomInforme As String) Dim app As Object 'esta línea cambia, como bien decías tú Set app = CreateObject("Access.Application") app.Visible = False 'se me había olvidado esta línea app.OpenCurrentDatabase nomBD On Error Resume Next app.DoCmd.DeleteObject acQuery, nomConsulta app.DoCmd.DeleteObject acReport, nomInforme app.CloseCurrentDatabase Set app = Nothing End Function