SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: ferbasic en Domingo 23 de Febrero de 2003, 05:51

Título: Re: Contraseña en base de datos
Publicado por: ferbasic en Domingo 23 de Febrero de 2003, 05:51
Saludos a todos..escribo porque tengo un problema......
Tengo una base de datos en Acces con contraseña...llamada "xxx"...

y abro la base de datos asi:
dbase.opentadabase(app.path & "bd1.mdb").....

Pero sale un error, porque tiene contraseña........Como hago para que el programa me pida la contraseña......

agradezo su colaboración

ferbasic
Título: Re: Contraseña en base de datos
Publicado por: J.M.Movilla en Domingo 23 de Febrero de 2003, 21:50
Hola:
Si utilizas ese método para abrir la base de datos no tienes más opciones que indicarle el modo de apertura (Sólo-lectura, lectura-escritura, etc)

Te aconsejo que te crees un espacio de trabajo y definas en él cada base de datos que vayas a usar; por ejemplo:

Dim Ws as Workspace
Dim Db1 as Database, Db2 as Database

Set Ws = CreateWorkspace("", "admin","", dbUseJet) ' Para una base de Access

Set Db1 = Ws.OpenDatabase(app.path & "bd1.mdb", wpd="xxx")

.
.
.
.

No olvides liberar la memoria después de cerrar tanto la base de batos como el espacio de trabajo, de esta forma

Set Db1 = Nothing
Set Ws = Nothing

NOTA.  Puedes hacer que se pregunte previamente la contraseña, en lugar de introducirla directamente por código.  Para eso, antes de abrir el fichero, haces un input de ese valor, a través de un textBox, y luego en lugar de poner wpd="xxx", pones wpd=txtBox1.text

¿Vale?  Pues que te salga bonito...
Título: Re: Contraseña en base de datos
Publicado por: ferbasic en Martes 25 de Febrero de 2003, 12:40
Gracias JJ Novilla por la respuesta.. Pero de todos modos el código no me funciona..... Hago lo mismo quee me dice, pero no abre la base de datos, y sigue de largo y causa un error............Sin contrase
na, si la abre pero  con contrasena no la abre.........Estos son los pasos que yo hago para la contrasena... Abro la base de datos en modo exclusivo, luego voy a seguridad y pongo la contrasena, en este caso ejemplo  aaa, luego la cierro , y poongo el codigo que me mando en el programa.............Pero no me abre.......Es una base de datos acces 97, será que algo está malo??? le agradezco su colaboración............

ferbasic
Título: Re: Contraseña en base de datos
Publicado por: Egala en Martes 25 de Febrero de 2003, 14:12
En el metodo opendatabase hay una opcion para pasarle la contraseña, porque entiendo que sabes cual es verdad?
Set BD = OpenDatabase("nombre.mdb", False, False, ";pwd=" & Pass), donde Pass es la contraseña de la base de datos

Suerte

Egala
Título: Re: Contraseña en base de datos
Publicado por: J.M.Movilla en Martes 25 de Febrero de 2003, 21:40
Repaso mi código y compruebo que cometí el error de poner la opción de la contraseña como "wpd", cuando en realidad es "pwd"
Ya me perdonarás.  Prueba este cambio, porque tiene que funcionarte...
Título: Re: Contraseña en base de datos
Publicado por: ferbasic en Miércoles 26 de Febrero de 2003, 13:18
Gracias seeñores por todo...........Pero probe de las dos formas,,, y me salen errores, cuando llega a la consulta siguientee, sale la siguiente ventana:

Error '91' en tiempo de ejecución:
Variable de tipo Object o la variable With  no establecida.

Cabe destacar, que eso no sale cuando no tenia contraseña..............Por favor neceesito ayuda en esto?????????? ayudeme alguien ........Gracias
Título: Re: Contraseña en base de datos
Publicado por: Mark en Miércoles 26 de Febrero de 2003, 23:15
Utliza esta forma:

Set basedatos = OpenDatabase("", True, False, ";database=c:nombre.mdb;pwd=clave")

A mi me funciona.

Saludos, y suerte.
Título: Contraseña en base de datos
Publicado por: ferbasic en Domingo 2 de Marzo de 2003, 14:45
Graciaas a todos........pero la unica manera que me funciono fue:

set=dbbase.opendatabase(App.path & "basededatos.mdb"),false,false,";pwd=contraseña")

Les agradezco......saludos..........:jumpie: