Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A...
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A Un Texbox 
 
Hola amigos pues necesito una ayudita con esto que se me presenta en un sistema, es posible cargar un dato de la BD a un evento click para luego ese dato llevarlo a un texbox, osea lo que quiciera hacer es algo como esto:

Public Sub Button1_Click()

  Button2.Visible = False
  HPanel2.Visible = False
  Button3.Visible = False
  HPanel3.Visible = False
  usuario.Text = "Carlos"
  password.SetFocus

End


Lo que quiero esque en "  usuario.Text = "Carlos"  " se carge ese usuario directo de la base de datos.. OJO: son 3 usuarios y cada uno tiene un nivel de acceso diferente..
lo que no se es como hacerlo.. tengo la idea pero no la concreto no se si tengo que hacer una funcion aparte o puedo ejecutar un query  directamente desde el evento click.. quiciera que me ayudaran a aclarar esta dudita..

yo estaba haciendo algo como esto pero creo que esta un poco errado por las dudas de la funcion ademas que tengo problemas con la sintaxis del query :S


Public Sub Form_Open()
  Dim query As Result
  conexion.conectar()

  query = conexion.cn.Exec("Selec From usuario where acceso= Administrador")
  
  TextBox1.Text = query["usuario"]
End

Public Sub Button1_Click()

  Button2.Visible = False
  HPanel2.Visible = False
  Button3.Visible = False
  HPanel3.Visible = False
  usuario.Text = "Carlos"
  password.SetFocus

End


El problema es que lo estoy haciendo en form_open y no se como hacerlo en el evento click porfa alguien ayudeme

Aqui la tabla Usuario por si alguien quiere ayudar mas:

usuario     CREATE TABLE `usuario` (
 `id_usuario` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
 `usuario` varchar(254) DEFAULT NULL,
 `password` varchar(254) DEFAULT NULL,
 `acceso` varchar(254) DEFAULT NULL,
 PRIMARY KEY (`id_usuario`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
 



 
última edición por OneErick el Miercoles, 20 Marzo 2013, 18:08; editado 2 veces 
OneErick - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A Un Texbox 
 
OneErick, tienes que replantearte algunos conceptos básicos antes de asumir la lógica de todo esto.

El mismo título del hilo demuestra que no has pillado bien  la idea:

Citar:
Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A Un Texbox


Un Evento es un procedimiento que se dispara en un momento concreto, es decir, una serie de ordenes. No se puede cargar nada en él
     
Citar:
Lo que quiero esque en " usuario.Text = "Carlos" " se carge ese usuario directo de la base de datos.. OJO: son 3 usuarios y cada uno tiene un nivel de acceso diferente..


Usuario.text="Carlos"  es una comparación. Su resultado es cierto o falso, no se puede cargar nada en ella (puedes cargar otra cadena dentro de el textbox usuario, pero nada más).

Citar:
El problema es que lo estoy haciendo en form_open...


Tienes que aprender en qué momento se dispara qué evento y lo que quieres hacer entonces.
supongo, viendo tu código, que lo que quieres es comprobar si el usuario tiene acceso administrador o no. la lógica es la siguiente
Abres el formulario
esperas que el usuario teclee su nombre y su clave
cuando lo ha hecho y pulsado el botón "bValidar" (Nunca button1, que eso no dice nada. Pon nombre significativo a tus controles)
comprobamos en la base de datos su nivel
El código sería, más o menos

public sub bValidad_click()

dim query As Result
conexion.conectar()

query = conexion.cn.Exec("Selec * From usuario where usuario= \"" & txtNombre.Text & "\"")   'buscas el registro que coincida con el nick tecleado
if not query.Available  then 'no se devolvieron registros
   message.Error("No existe el usuario")
   return
endif
if txtclave <> query!password then 'la clave no coincide
   message("Clave errónea")
   return
end if
If query!acceso="Administrador" then

   mimodulopublico.usuarioAcceso="Administrador"    '(es conveniente que tengas un módulo accesible desde todas partes donde guardar una variable publica -usuarioAcceso en el ejemplo- con el acceso, para futuras referencias)

  ' .... pones visible lo que quieras o haces lo que quieras

else

  '...ocultas lo que quieras o haces lo que quieras.

  endif

Return

 


No uses el código y ya está. Estúdialo.
Suerte.
 



 
última edición por shordi el Miercoles, 20 Marzo 2013, 18:51; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A Un Texbox 
 
Justo ahora estoy trabajando en algo parecido para un programa mío. Creo un procedimiento para buscar al usuario en la base de datos, si existe compruebo la contraseña y por último el tipo de usuario, para abrir uno u otro formulario. La ventaja de tenerlo en un procedimiento es que puedo llamarlo desde cualquier evento de uno o más controles, sin volver a escribirlo todo.
Public Sub comprobar_usuario()
  Dim hres As Result               'declaramos variables locales
Dim Clave As String
Dim Clave2 As String
Dim Clave3 As String
Dim Clave4 As String
Dim filtro As String

hconn = Modcon.ConectarBase()    'llamamos a la conexión
filtro = txtuser.text                 'asignamos a la variable filtro el valor de txtuser.text
 
hres = hconn.Exec("Select *  from usuarios where nombre like '" & filtro & "' ")  'ejecutamos la consulta
 If txtuser.text = "" Then                           'comprobamos que el campo nombre no este vacío
       Message.Warning("Ingrese su nombre")
        txtuser.SetFocus                                  'si está vacío ponemos el foco en el control
    Else If hres.Available = False Then                'comprobamos si el usuario existe o no
  Message("No existe el usuario")
Else


      Clave = hres["id_usuario"]                       'asignamos a las variables los valores recuperados desde la base de datos
      Clave2 = hres["tipo_usuario"]
      Clave3 = hres["nombre"]
      Clave4 = hres["password"]



   If txtuser.text = Clave3 And txtpass.text = "" Then     'comprobamos que escriba la contraseña
          Message.Info("Ingrese su Contraseña ")
              txtpass.SetFocus
            
         Else If txtuser.text = Clave3 And txtpass.text <> Clave4 Then  'comprobamos si la contraseña no coincide
                 Message.Info("Contraseña incorrecta")
                   txtpass.SetFocus
         Else If txtuser.text = Clave3 And txtpass.text = Clave4 Then    'comprobamos que la contraseña  coincida
               If Clave2 = "Admin" Then                           'si el usuario es admin
                            Message.Info("Bienvenido" " " & Clave3 & " " "al sistema de administración")
                     Fadmin.show
                        Me.close
                Else                                               'si el usuario es un usuario común
                               Message.Info("Bienvenido" " " & Clave3 & " " " al sistema ")
                   Fingreso.Show
              Me.Close
          Endif
    
     Endif
  
   Endif
    
End
 

Espero te sirva, aunque sé que es mejorable. Si no quieres escribir los nombres puedes cargarlos en un listbox desde la base de datos y elegirlo, pero esa ya es otra historia. Analízalo y si te sirve, adelante.
Saludos
 




===================
Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
 
última edición por Dani26 el Miercoles, 20 Marzo 2013, 19:23; editado 2 veces 
Dani26 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A Un Texbox 
 
Creo que no me supe explicar:
cheken esto

iiii

como muestra la imagen tengo 3 usuarios cada uno de ellos con su nivel de accseso
ya la verificación del nivel de acceso lo hice con eso no hay problema.
Como pueden ver en la imagen, alado del nombre hay un boton con una imagen de usuario hasta ahora al darle click en ese boton pasa este evento

Public Sub Button1_Click()

Button2.Visible = False
HPanel2.Visible = False
Button3.Visible = False
HPanel3.Visible = False
usuario.Text = "Carlos"
password.SetFocus

End


el TEXBOX de usuario se llena con la palabra Carlos, pero esto es algo genérico si en algún momento alguien quiere cambiar todos los usuarios

la verdadera idea es que ese boton cargue el usuario directamente de la base de datos, en palabras sencillas usuario.Text = "seleccioname de la base de datos el usuario donde su acceso sea igual a auditor"

"Auditor, cambiaria a administrador o a usuario en los otros botones."

asi se llenaria el TEXBOX con un dato de la BD y así si carlos decide cambiar su nombre de usuario de carlos a carlos02 se actulizaria de forma el siguiente inisio de sesion.

Ahora si me explique mejor creo..
 



 
OneErick - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A Un Texbox 
 
Citar:
query = conexion.cn.Exec("Selec From usuario where acceso= Administrador")

Para empezar, otra vez te falta la "t" ,ahora en la palabra select , imposible que te funcione esa consulta.
Public Sub Button1_Click()
  Dim query As Result
  conexion.conectar()

  query = conexion.cn.Exec("Select  *  from usuarios where acceso= Administrador")
  

  Button2.Visible = False
  HPanel2.Visible = False
  Button3.Visible = False
  HPanel3.Visible = False
  usuario.Text = query["usuario"]
  password.SetFocus

End

Sería como yo lo haría.Pon todo en el evento click del botón , la misma consulta te da la solución. Recuerda que puedes probar las consultas desde el phpmyadmin, que te marca cual es el error.
Saludos
 




===================
Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
 
última edición por Dani26 el Miercoles, 20 Marzo 2013, 22:35; editado 1 vez 
Dani26 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A Un Texbox 
 
De esa manera no se porque pero no funciona dice: Result is not available o algo así XD, pero antes de ver esa forma que me ofreciste yo utilice esta y me funciono


Dim buscar As Result
  Button1.Visible = False
  HPanel1.Visible = False
  Button2.Visible = False
  HPanel2.Visible = False

  buscar = conexion.cn.Exec("select * from usuario  where acceso='" & acc3.Text & "' ")
  usuario.Text = buscar["Usuario"]


solo que tuve que colocar un TexBox oculto y en la propiedad enable la puse -> false: llamado acc, acc2, acc3 para cada caso y en la propiedad Tex:  Su nivel de acceso y listo

Creo que no es la mejor manera pero fue la que funciono además de que la pensé YO ^^.
 



 
OneErick - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A Un Texbox 
 
OneErick escribió: [Ver mensaje]


solo que tuve que colocar un TexBox oculto


Está bien que la solución la hayas pensado sólo tu, y no esté copiada de algún otro lugar, en eso tengo que darte la enhorabuena porque demuestras que quieres aprender. Pero ahora analiza la frase tuya que cito arriba: en realidad estás usando un control para almacenar un dato, un control oculto a la vista del usuario. ¿No es eso en definitiva una variable de tipo String?  En adelante no hagas eso nunca más y usa variables si no quieres que venga Eric S. Raymond a matarte!!!  

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cargar Un Dato De La BD A Un "Evento Click" Para Luego Llevarlo A Un Texbox 
 
Bueno en eso tienes toda la razón.. el problema es que desde un principio no quise hacerlo de esa forma por lo "Genérico" pero al ver que no me funciona de otra forma dado que no se como hacerlo, pues lo hice de esa manera para que funcionara..

PD: Estoy abierto a opiniones e incluso modificaciones si estas funcionan y me enseñan.. ^^.
 



 
OneErick - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Cual Seria El Evento "onchange" ... CanihoJR General 4 Jueves, 01 Septiembre 2011, 09:29 Ver último mensaje
CanihoJR
No hay nuevos mensajes Un Detalle Con El Insert Into Gambas Value... jousseph Bases de Datos 5 Domingo, 04 Noviembre 2012, 20:58 Ver último mensaje
Shell
No hay nuevos mensajes Retos Para 1945 (2): Evento "Disparo&... jsbsan General 4 Viernes, 12 Septiembre 2014, 20:00 Ver último mensaje
jguardon
No hay nuevos mensajes Ejecutar Archivos Audio MP3 Con La Clase &... vuott Aplicaciones/Fragmentos de Código 5 Lunes, 02 Diciembre 2019, 13:28 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron