Dim qry As Object Dim numero As Integer 'ponemos esta variable simplemente como muestra, puedes 'coger valores desde un formulario o algo asi... numero = 10 'aqui creamos la consulta temporal Set qry = CurrentDb.CreateQueryDef("qryTemporal", "Select Top " & numero & " * From MiTabla") 'aqui la mostramos al usuario DoCmd.OpenQuery qry.Name 'aqui borramos la consulta de la coleccion querydefs 'pero no desaparecera de la pantalla CurrentDb.QueryDefs.Delete qry.Name Set qry = Nothing Si estas usando la libreria DAO, puedes declarar el objeto qry como QueryDef, que es mas exacto.