Con VBA conocer el tamaño una Base de Datos Access

Necesito poder saber el tamaño de una base de datos a través de instrucciones vba.

He intentado varios ejemplos encontrados por internet y ninguno de ellos me funciona perfectamente.

Me dan tamaños que no son reales.

2 respuestas

Respuesta
1

Pruebe con esta función:

Function TamanoBaseDeDatos() As Integer

Dim db As Database
Dim dbNombre As String
Dim dbTamaño As Double

dbNombre = CurrentDb.Name

Set db = OpenDatabase(dbNombre)

' Obtiene el tamaño de la base de datos en bytes
dbTamaño = FileLen(dbNombre)

 TamanoBaseDeDatos = dbTamaño / 1024

db.Close
Set db = Nothing
End Function

Respuesta
1

El tamaño más cercano al real, solo se puede obtener tras una compactación.

Una consulta, la apertura de un formulario/informe o cualquier otra actividad que implique manipular datos, añade/utiliza espacio físico en la base para procesarlos.

Lo que estoy buscando es darlo en un formulario a través de VBA y que me de en ese momento el tamaño de la base de datos.

Por las causas antes mencionadas, el tamaño real solo se puede conocer tras la compactación, por ello es fácil que cada vez que se recalcule (consulte) el tamaño sea diferente.

Es fácil de verificar el antes y el después de la compactación y algo de uso.
Nada impide que como primer paso (al abrir la aplicación) se verifique su tamaño y se compare con el anterior (que fue guardado en la anterior apertura de la base).

Añadir que se da por supuesto que la aplicación se compacta al salir.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas