SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: MestreZero en Miércoles 6 de Octubre de 2004, 17:03

Título: Error 3343
Publicado por: MestreZero en Miércoles 6 de Octubre de 2004, 17:03
Hola a Todos

tengo una aplicacion conectada a una base de datos en Access, y aveces al estar ejecutando me sale Error 3343 en tiempo de ejecucion, y ya no funciona la aplicacion, para que vuelva a funcionar tengo que entrar en Acces y abrir la base de datos, ir a Herramientas, utilidades de base de Datos, Compactar y Reparar Base de datos, y luego lo guardo con el mismo nombre y vuelve a funcionar.

Alguien sabe como puedo hacer esa misma opcion de reparar base de datos pero en VB?, como una opcion dentro del menu para no tener que entrar en acces y realizar todos esos pasos...

Gracias
Título: Re: Error 3343
Publicado por: gradyus en Jueves 7 de Octubre de 2004, 07:56
:hola:

puerba esto:

Dim dbE As New DAO.DBEngine ' Declare a new DBEngine variable
Dim x$ ' To capture the DIR return string
Dim sd As String

sd = App.Path & "\mi base de datos.mdb"

x = dir(App.Path & "\repairedDB.mdb")

If x <> "" Then Kill App.Path & "\repairedDB.mdb"


dbE.CompactDatabase sd, App.Path & "\RepairedDB"    

Kill sd  

Name App.Path & "\repairedDB.mdb" As sd


mi base de datos es el nombre de tu base de datos
debe estar cerrada y no tener password

activar referencia a microsoft dao 3.6 object library

adjunto archivo original