Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

respuesta secreta VB 6.0

Estas en el tema de respuesta secreta VB 6.0 en el foro de Visual Basic clásico en Foros del Web. Hola a todos, tengo un problema con VB 6.0 tengo un formulario de cambiar contraseña mediante preguna secreta. Esta pregunta ya la ha introducido el ...
  #1 (permalink)  
Antiguo 14/07/2014, 19:42
 
Fecha de Ingreso: abril-2007
Mensajes: 166
Antigüedad: 17 años
Puntos: 2
respuesta secreta VB 6.0

Hola a todos, tengo un problema con VB 6.0 tengo un formulario de cambiar contraseña mediante preguna secreta. Esta pregunta ya la ha introducido el usuario en el registro, mediante un combobox. ¿Cómo podría hacer para volver a mostrarla pero esta vez en un campo de texto? es que la necesito recuperar para que el usuario pueda leerla y escribir la respuesta secreta para cambiar la clave.

mi formulario de cambiar clave tiene:

1 cuadro de texto llamado "cambiousuario", aqui pongo el usuario al que quiero cambiar la clave.
1 cuadro de texto llamado "cambiopregunta", aquí es donde se debe de mostrar la pregunta secreta previamente introducida. Este campo será no modificable, solo lectura
1 campo de texto llamado "cambiarespuesta", aquí es donde pongo la respuesta secreta.

Entonces si todos los datos estan bien validados se accederá a otro formulario donde podré cambiar la contraseña para ese usuario en concreto.

Lo que no sé es recuperar mediante código de VB la respuesta secreta.

¿Alguién podría ayudar?.

Gracias
  #2 (permalink)  
Antiguo 28/07/2014, 14:46
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 14 años, 7 meses
Puntos: 47
Respuesta: respuesta secreta VB 6.0

Hola!
Si al guardar la respuesta que el usuario elije desde el combobox, lo que guardas es el texto (la pregunta), entonces, simplemente usa un control LABEL para mostrarla mediante un Recordset, algo asi:

Código vb:
Ver original
  1. DIM RST AS ADODB.RECORDSET
  2. SET RST = NEW ADODB.RECORDSET
  3.  
  4. RST.SOURCE="SELECT PREGUNTA_EN_TEXTO FROM TABLA_RESUESTA WHERE ID_USUARIO='" & EL_ID_DEL_USUARIO & "'"
  5. RST.OPEN , CONEXION
  6.  
  7. IF RST.EOF=FALSE THEN
  8. LABEL.CAPTION=RST!PREGUNTA_EN_TEXTO
  9. ELSE
  10. LABEL.CAMPTION=EMPTY
  11. ENDIF
  12.  
  13. IF RST.STATE=1 THEN RST.CLOSE
  14. SET RST=NOTHING

Pero si lo que guardas es el indice del combobox, entonces:

Código vb:
Ver original
  1. DIM RST AS ADODB.RECORDSET
  2. SET RST = NEW ADODB.RECORDSET
  3.  
  4. RST.SOURCE="SELECT ID_PREGUNTA_DEL_COMBOBOX FROM TABLA_RESUESTA WHERE ID_USUARIO='" & EL_ID_DEL_USUARIO & "'"
  5. RST.OPEN , CONEXION
  6.  
  7. IF RST.EOF=FALSE THEN
  8. IF RST!ID_PREGUNTA_DEL_COMBOBOX = 1 THEN LABEL.CAPTION="ESTA ES LA PREGUNTA #1"
  9. IF RST!ID_PREGUNTA_DEL_COMBOBOX = 2 THEN LABEL.CAPTION="ESTA ES LA PREGUNTA #2"
  10. IF RST!ID_PREGUNTA_DEL_COMBOBOX = 3 THEN LABEL.CAPTION="ESTA ES LA PREGUNTA #3"
  11. IF RST!ID_PREGUNTA_DEL_COMBOBOX = 4 THEN LABEL.CAPTION="ESTA ES LA PREGUNTA #4"
  12. '... ETC
  13. '... ETC
  14. '... ETC
  15. ELSE
  16. LABEL.CAMPTION=EMPTY
  17. ENDIF
  18.  
  19. IF RST.STATE=1 THEN RST.CLOSE
  20. SET RST=NOTHING

Espero darte una idea de como hacerlo.

Etiquetas: programación-general, quiero, respuesta, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:06.