Nube

miércoles, 7 de mayo de 2008

Cambiar la contraseña de access desde vb6

Hoy subo una funcioncita que me hice hace bastante tiempo para cambiar la contraseña de una base de datos en access desde visual basic 6.

'CAMBIA LA PASS DE LA BASE DE DATOS
Public Sub cambia_pass(NewClave As String, Optional OldClave As String = "")
On Error GoTo actimel
Dim sDBTmp As String
Dim NombreMdb As String

' en Proyecto->Referencias: Microsof Jet and Replication objects 2.6 Library
Dim je As JRO.JetEngine
Set je = New JRO.JetEngine

' BD a la que vamos a poner/modificar la contraseña
NombreMdb = "mibasededatos.mdb"
sDBTmp = "DBTemp.mdb" ' creamos una BD temporal
' si existe la borramos
If Len(Dir$(sDBTmp)) Then Kill sDBTmp
sDBTmp = App.Path & "\" & sDBTmp
' compactamos la BD y le asignamos la contraseña
je.CompactDatabase "Data Source=" & NombreMdb & ";" & _
"Jet OLEDB:Database Password=" & OldClave & ";" & _
"Data Source=" & sDBTmp & ";" & _
"Jet OLEDB:Database Password=" & NewClave

' eliminamos la BD original y renombramos la temporal
Kill NombreMdb
Name sDBTmp As NombreMdb
Exit Sub
actimel:
End Sub

No hay comentarios: