Buenas quería saber si se puede desde Visual Basic 2013 cambiar una contraseña de una base de datos Access 2010 (por código con ADO.NET), pongo siguiente código a modo de ejemplo. Como sería el código en el botón BtnPassword.
Public Class Form1
'Declaración Conexión al origen de datos con proveedor Access
Public Acceso As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Prueba.accdb;Persist Security Info=True; _
Jet OLEDB:Database Password=sabe1#012345678910lu")
'Declaración del DataSet
Public DS As New DataSet
'Declaración del DataAdapter con la consulta de toda la tabla
Public DATA As New OleDb.OleDbDataAdapter("SELECT ID, NOMBRE, TELEFONO, CORREO FROM Agenda", Acceso)
Private Sub BtnCargarTabla_Click(sender As Object, e As EventArgs) Handles BtnCargarTabla.Click
'Conectamos a la BD y cargamos los valores al DataGridView
Try
Acceso.Open()
DS.Tables.Add("Tabla")
DATA.Fill(DS.Tables("Tabla"))
DataGridView1.DataSource = DS.Tables("Tabla")
MsgBox("Se ha conectado a la BD", MsgBoxStyle.Information)
Catch ex As Exception
MsgBox("Fallo de conexión" & Chr(13) & ex.ToString, MsgBoxStyle.Critical)
End Try
Acceso.Close()
End Sub
Private Sub BtnPassword_Click(sender As Object, e As EventArgs) Handles BtnPassword.Click
'....
'....
End Sub
End Class
Mi segunda pregunta a modo de tema de Seguridad. Las bases de datos con Access 2010 veo que están cifradas y puedes poner una contraseña como el ejemplo que tengo de hasta 20 caracteres. ¿Es posible mediante programas externos aunque sean de pago romper esa seguridad y acceder a la base de datos Access?
Si es así se me ocurre poner la base de Access en un recurso compartido oculto con el $ al final y desde Visual Basic que es el programa que va a los usuarios acceder por programación y así nunca saben donde se esconde la base de Access. Aunque la empresa donde estoy no hay mucho listo que digamos pero siempre es bueno poner la máxima seguridad ante datos personales.
Si alguien sabe como programar por código la primera pregunta se lo agradezco mucho, naturalmente para cambiar una contraseña por Access hay que abrirla en modo exclusivo. En caso contrario lo haría desde Access y luego volviendo a compilar el proyecto, pero ya me gustaría hacerlo todo automático tal y como se hacía en Access97 hace mucho tiempo cuando programaba con VB6 y DAO.
Muchas gracias
Saludos