Visual Basic - Problemas con ADODC y Contraseña

Life is soft - evento anual de software empresarial
 
Vista:

Problemas con ADODC y Contraseña

Publicado por XcUiDi (30 intervenciones) el 05/12/2002 08:17:10
Ok, antes que nada, un saludo a todos los Buenos programadores que incrementan las soluciones a los problemas de nosotros, los aún novatos en el campo de Visual Basic.

Bien, el motivo de este mensaje es para solicitar ayuda con respecto a un problema con una base de datos (.mbd en Acces):

A. Primero, Tengo mi base (.mbd) con unas 5 tablas, todas bien diseñadas, normalizadas y relacionadas. Le establecí una contraseña para que no pueda abrirse por personas sin autorización.
- En Access, abrir el archivo en modo exclusivo.
- Ejecutar la orden: Herramientas->Seguridad->Establecer contraseña para la base de datos...
- Escribí la contraseña: prueba y confirmar: prueba
- Cerré la base de datos, y cerré Microsoft Access.

B. Después lo vinculé a Visual Basic con el ADODC control, con código, de la siguiente manera:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.path & "\Answerer.mdb"
Adodc1.CursorType = adOpenDynamic
Adodc1.Password = "prueba" 'La contraseña para poder visualizarla...
Adodc1.RecordSource = "tClaves" 'La tabla que quiero utilizar con ese ADODC...
Adodc1.Refresh 'Refresh para que actualice la información para utilizarla

continua en el siguiente mensaje....

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

continuación.. RE:Problemas con ADODC y Contraseña

Publicado por XcUiDi (30 intervenciones) el 05/12/2002 08:20:22
...continuación...

C. Almacené los cambios y lo ejecuté (F5).
- Muestra el error siguiente: "No se puede iniciar la aplicación. Falta el archivo de información del grupo de trabajo o bien está abierto en modo exclusivo por otro usuario."
- Y al darle "Aceptar" le digo que depure el error: y me visualiza la instrucción Adodc1.Refresh seleccionada, como diciendo que falta alguna instrucción para que se complete bien esa instrucción Refresh.

Bien, es raro porque se supone que no definí grupo de trabajo ni usuarios ni nada por el estilo. Además no tengo abierta la base de datos en modo exclusivo, ya que cerré completamente MicroSoft Access.

Espero me puedan ayudar, sinceramente les agradezco que hayan leído este problema. Y para quien(es) me pueda(n) solucionar de favor la presente, les estaré eternamente agradecido.

Ah!, anteriormente la base de datos sin contraseña me había funcionado sin problemas. Pero se podía entrar con Microsoft Access (cosa que quiero anular ahora). Además chequé algunas sugerencias, y modifique este código así:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Password=prueba;Persist Security Info=True;" & _ 'Le agregué esto, pero sigue el mismo error...
"Data Source=" & App.path & "\Answerer.mdb"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:continuación.. RE:Problemas con ADODC y Contras

Publicado por Esperanza (17 intervenciones) el 05/12/2002 10:29:35
Hola, yo siempre utilizo un grupo de trabajo, pero tengo unos apuntes guardados de la página del Guille, te lo mando por si te sirve:

Abrir una base de datos ADO con contraseña (05/Sep/2001)
Para abrir una base de datos ADO con contraseña, podemos hacerlo al crear la conexión.
He probado varias de las formas que se indican en la ayuda, pero la única que me ha funcionado es la que aquí te muestro... así que, si a ti te funciona de otra forma, pues... eso, que uses la que mejor te parezca... je, je.
Este código es para bases de datos del tipo Access 97, en caso de que quieras usar una de Access 2000, hay que cambiar el provider por: Provider=Microsoft.Jet.OLEDB.4.0;
Set Cnn = New ADODB.Connection

Cnn.Open "Provider=Microsoft.Jet.OLEDB.3.51; " & _
"Data Source=" & sBase & ";" & _
"Jet OLEDB:Database Password=laclave"
En este ejemplo, asumimos que tenemos una variable llamada Cnn del tipo ADODB.Connection y otra, sBase del tipo String, a la que se ha asignado el nombre de la base de datos a la que queremos acceder.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Aleluya!

Publicado por XcUiDi (30 intervenciones) el 05/12/2002 12:36:13
Amiga!!! Gracias!! :D ;)

Bien pues, exactamente solo agregué a mi línea de código este parámetro: Jet OLEDB:Database Password=laclave quedando de la siguiente manera:

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Jet OLEDB:Database Password=prueba;" & _
"Data Source=" & App.path & "\mibase.mdb"

y ha funcionado exactamente como funcionaba sin utilizar el password :D, de esta manera, ya no podrán visualizar mibase.mdb desde Access 2000 :D ;)

Gracias Esperanza :D ;) y gracias a Guille también. Cualquier cosa que te sirva de mi parte, tenlo por seguro que te ayudaré.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar