Título: Duda Publicado por: Jareth en 4 Noviembre 2006, 16:06 pm Hola,me gustaria saber como se hace (en vb) para que se puedan registrar,poner un nombre de usuario y pass,y luego logearse,imagino que con base de datos,pero no se exactamente como hacerlo.
Gracias y saludos. Título: Re: Duda Publicado por: CeLaYa en 4 Noviembre 2006, 22:05 pm te recomiendo que primero veas temas relacionados con BD
Conectarse a una BD de Access en VB http://foro.elhacker.net/index.php/topic,94263.msg442391.html#msg442391 aunque para mi seria mejor guardar la contraseña cifrada en un archivo Título: Re: Duda Publicado por: Jareth en 4 Noviembre 2006, 22:56 pm Si sobre base de datos pues se algunas cosas,el problema es que no se como añadir el contenido de un textbox(por ejemplo el user)a una base de datos(esto seria cuando uno se registra),leerlo si que se.
Otra cosa si tu me dices lo de guardarlo en un archivo cifrado,como seria? Gracias y saludos. Título: Re: Duda Publicado por: CeLaYa en 6 Noviembre 2006, 16:53 pm primero para guardar datos en una BD lo haces con addnew
dim Bd as database dim Tb as database set bd = workspaces(0).opandatabase("c:\basededatos.mdb",Exclusivo, SoloLectura) set tb = bd.openrecordset("tabla") tb.addnew tb!Usuario = txtUsuario.text tb!Pass = txtpassword.text tb.update tb.close bd.close set tb = nothing set bd = nothing segundo para lo del archivo, pues puedes idearte algun proceso que si tu le pones "usuario1" te guarde "A%S23$Q=WE(2" o algo asi, eso ya es custión de como lo quieras hacer. Título: Re: Duda Publicado por: Jareth en 6 Noviembre 2006, 19:03 pm Ok,muchas gracias! me has ayudado mucho,de verdad gracias.
Por cierto esta todo perfecto excepto el Tb que debe ser declarado como Recordset.Funciona perfecto gracias otra vez. Saludos. Título: Re: Duda Publicado por: Jareth en 6 Noviembre 2006, 19:12 pm Hola,lo siento,tengo otra duda,ahora como hago para comprobar que existe,si existe que por ejemplo vaya al siguiente form,esque se buscar y mostrar los datos pero no se como mirar si existen.
Gracias y saludos. EDITADO:Perdon ya me salió,xD.Lo pongo por si otro tiene el mismo problema(si esta mal decidmelo): Código: Dim bd As Database Título: Re: Duda Publicado por: CeLaYa en 7 Noviembre 2006, 00:34 am pues lo haces con una consulta SQL, un ejemplo:
Dim bd As Database Dim tb As Recordset Set bd = Workspaces(0).OpenDatabase("C:\Documents and Settings\USER\Escritorio\bd1.mdb") Set tb = bd.OpenRecordset("SELECT * FROM tabla1" & _ "WHERE User = '" & text1.text & "' " & _ "AND Pass = " & text2.text & "';") If tb.Recordcount > 0 then ' Encontro por lo menos un registro Unload me ElotroForm.show end if 'No olvides cerrar la BD y liberar la memoria tb.close bd.close set tb = nothing set bd = nothing Título: Re: Duda Publicado por: Jareth en 7 Noviembre 2006, 20:35 pm Gracias CeLaYa,de todas formas encontré otra manera pero probaré la tuya. ::)
Gracias y Saludos. Título: Re: Duda Publicado por: Jareth en 8 Noviembre 2006, 18:57 pm Hola,tu code me da error en la SQL,de todas formas el mio va,pero por ejemplo cuando en el primer form me registro y los datos se añaden,cuando voy al form2 que es donde login,los datos recien puestos no los reconoce,pero si cierro el programa y lo ejecuto luego si.Y yo quiero que nada mas registrarte hagas login sin necesidad de cerrar el programa.
Gracias y saludos. Título: Re: Duda Publicado por: CeLaYa en 8 Noviembre 2006, 21:15 pm creo que el error pueda ser que me falto un espacio en la consulta SQL
Set tb = bd.OpenRecordset("SELECT * FROM tabla1" & _ "WHERE User = '" & text1.text & "' " & _ "AND Pass = " & text2.text & "';") lo correcto seria: Set tb = bd.OpenRecordset("SELECT * FROM tabla1 " & _ "WHERE User = '" & text1.text & "' " & _ "AND Pass = " & text2.text & "';") y para eso de que no te reconoce los datos, porque no pones el codigo que tienes y vemos que se puede hacer Título: Re: Duda Publicado por: Jareth en 8 Noviembre 2006, 21:25 pm Código: Private Sub Command1_Click() Gracias otra vez CeLaYa. Título: Re: Duda Publicado por: CeLaYa en 9 Noviembre 2006, 17:32 pm aqui el problema es que no estas haciendo una busqueda en tu BD, lo que estas haciendo es comparar el usuario que escribes en el Text1 con el registro al que actualmente esta apuntando la BD, para corregir esto puedes hacer una consulta SQL (como la que te pase) o si lo quieres pudes modificar un poco el codigo que ya tienes
Private Sub Command1_Click() Dim bd As Database Dim tb As Recordset Set bd = Workspaces(0).OpenDatabase("C:\Documents and Settings\USER\Escritorio\bd1.mdb") Set tb = bd.OpenRecordset("tabla1") tb.moveFist ' Movemos el puntero al inicio de la tabla 'Estableces el criterio de búsqueda tb.FindFisrt (User = '" & Text1.Text & "' And pass = '" & Text2.Text & "'") if tb.NoMatch then ' No se encotro el usuario MsgBox ("Datos incorrectos") Else Form3.Show end if tb.Close bd.Close Set tb = Nothing Set bd = Nothing End If Título: Re: Duda Publicado por: Jareth en 10 Noviembre 2006, 18:58 pm Ok,muchas gracias ya lo entendi.De verdad mil gracias me ayudaste mucho CeLaYa.
Saludos. Título: Re: Duda Publicado por: ranslsad en 30 Junio 2007, 21:33 pm Hola amigos, tengo una duda ya que, me sale:
Código: Run Time Error '3251': Y me sale en el error aqui: Private Sub Command1_Click() Dim bd As Database Dim tb As Recordset Set bd = Workspaces(0).OpenDatabase("C:\Documents and Settings\Administrador\Escritorio\Chat Visual Basic\Servidor\db\cuentas.mdb") Set tb = bd.OpenRecordset("tabla1") tb.MoveFirst ' Movemos el puntero al inicio de la tabla 'Estableces el criterio de búsqueda tb.FindFirst (User = "" & Text1.Text & "" And pass = "" & Text2.Text & "'") If tb.NoMatch Then ' No se encotro el usuario MsgBox ("Datos incorrectos") Else Form3.Show End If tb.Close bd.Close Set tb = Nothing Set bd = Nothing End Sub Bueno espero que alguien pueda ayudarme... Salu2 Ranslsad Título: Re: Duda Publicado por: Jareth en 30 Junio 2007, 23:29 pm Asi a simple vista vewo que usas doble comillas "",y no es asi,fijate en el ejemplo de CeLaYa,usa una doble comilla y un ' .No como tu que usas dos ".
Prueba cambiando eso. Título: Re: Duda Publicado por: ranslsad en 1 Julio 2007, 12:15 pm Ahi me sale errores de esas mismas comillas.. :S por eso yo las cambie por "comillas" pero antes estaba esto'
Bueno.. aun no e podido resolver mi duda :( Salu2 Ranslsad Título: Re: Duda Publicado por: Hans el Topo en 1 Julio 2007, 13:42 pm se supone que tu le tienes que enviar una string... por lo tanto estas uniendo cadenas ... concepto básico de vb ...
Código: "cadenita con chorraditas" & " en sentencias se utiliza la comilla simple para comparar strings pepe = 'pony' " ahora componemos una sentencia Código:
Título: Re: Duda Publicado por: ranslsad en 1 Julio 2007, 14:47 pm Bueno gracias, pero ya lo e dejao a los MDB como e estado 4 dias entancado, pues el registro se guarda en txt y luego se lee normal.. asi no me lio tanto y es facil!!
Aun asi muchisimas gracias ;) Salu2 Ranslsad |