Hola de nuevo y gracias por darme la solución al anterior problema. Ahora se me plantea la siguiente duda y espero que me puedas ayudar. Tengo un Formulario de inicio en donde al pulsar un command button se accede a otro formulario en el cual se debe introducir un código y si éste es correcto se pasará al formulario de trabajo. Pues bien lo que no logro hacer es que una vez que se active el código que no vuelva a salir el formulario de introducción del código, es decir, que cuando se inicie de nuevo la base de datos al pulsar el command button no me lleve al formulario de introducir código sino al de trabajo.
Espero que me ayudes. Gracias por tu atención.
1 Respuesta
Respuesta de lockdown
1
1
lockdown, Tengo bastante experiencia en programación en visual basic con...
Para ayudarte necesito que me especifiques 2 cosas, "el código" que metes en el formulario para acceder, ¿es siempre el mismo? O es variable. ¿Necesitas forzosamente que se muestre un formulario para pedir la clave? O te puede valer otra alternativa.
Hola, con respecto a tus preguntas: 1) El código siempre es el mismo 2) Y por qué utilizar un formulario pues éste me permite hacer algo más que no podría con un inputbox La idea es que al introducir el código en un textbox y al pulsar en el command button me salga en un textbox algo como "verificando código, espere" al mismo tiempo que una progressbar. Además del problema que ya sabes no consigo que la progressbar se ejecute más lentamente ya que en el evento del command button tengo: ProgressBar1.Value=1 For ctr1= 1 To 1000 ProgressBar1.Value=ctr1 Next ctr1 Declaré ctr1 como: Dim ctr1 as Integer Pero lo que consigo es que al pulsar el command button salga el texto y se ejecute la barra super rápido ¿cómo puedo hacer para que se ejecute más despacio? ¿y cómo puedo hacer para que el código a introducir se vea como *****?
Hola de nuevo, tengo un pequeño problema tengo instalado el visual studio 6.0 edición empresarial aquí en el visual basic 6 tengo en el cuadro de herramientas el control timer1 pero en access 2002 (XP) no aparece por ningún lado y por tanto no puedo usar el evento Private Sub Timer1_Timer(), puedes sugerirme alguna idea de cómo pasarlo al cuadro de herramientas de access y lo mismo me pasa con el maskedbox bueno no exactamente ya que éste si aparece pero no la propiedad PasswordChar sino PromptChar ¿qué puedo hacer? Gracias por toda tu atención y ayuda si algún día vienes por Tenerife no dudes en contactar conmigo.
Ok, si lo he entendido bien quieres que solo te pida 1 vez la contraseña (digamos que como si fuera la activación del programa, ¿no?) Lo que podrías hacer es una tabla en la db en la que hubiera un campo llamado ACTIVADO, de tipo Si/No, entonces, antes de hacer abrir el formulario de contraseña, estando en el formulario de inicio, compruebas si el valor es verdadero o falso, y dependiendo de eso pones un if para que muestre el formulario de contraseña o el de la base de datos. Para que salga el text con **** hay un control específico que se encarga de eso. Se llama MaskEdBox, que no viene cargado por defecto, pero que se encuentra en el directorio windows, para agregarlos, tienes que ir al menu Proyecto-Componentes o presionar Ctrl+T. Luego le das a examinar y buscas un archivo llamado msmask32.ocx en el directorio windows\system. Luego lo seleccionas en el cuadro y en el cuadro de controles te aparecerá, después lo insertas en el formulario y funciona idénticamente que un textbox, pero tiene una propiedad que se llama PasswordChar que te permite seleccionar el carácter que quieres que se muestre en vez del texto. Con respecto a lo de ralentizar la barra de progreso te adjunto este código. (Tienes que añadir al formulario un control timer) Option Explicit Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Form_Load() ProgressBar1.Max = 100 'inicializamos el maximo ProgressBar1.Value = 0 'ponemos la barra a 0 Timer1.Interval = 1 'Configuramos el tiempo del timer End Sub Private Sub Timer1_Timer() If ProgressBar1.Value <> 100 Then ProgressBar1.Value = ProgressBar1.Value + 1 Else Timer1.Enabled = False End If End Sub Espero que te valga, luego si quieres más o menos rápido, solo cambia el valor del timer y el max de la progressbar. Un saludo (si tienes alguna duda, aquí estamos)...
En el access 2002 (y en las otras versiones), creo que no tienes problema con la máscara que le quieras poner, creo que con un textbox normal tiene alguna propiedad que vale para eso. He mirado en el access y cuando creas un textbox, vas a las propiedades, a la prestaña data, la propiedad input mask y seleccionas password. Entonces te sale con los asteriscos. Con respecto a lo del timer, pues los formularios del access tienen un evento que se llama OnTimer (¿te sueña?) Y también una propiedad que se llama TimeInterval (¿te suena también?). Pues ya ta : ) con eso va que te matas. Si quieres parar el timer, tienes que poner en TimeInterval = 0. De todas formas, visita este enlace, que lo explica mejor que yo. http://www.aa-sistemas.eti.br/ayudadeaccess/TOME1.htm Por cierto, yo soy de Gran Canaria, un abrazo chicharrero...
Buenas noches, y hola de nuevo he logrado a través de bucles y el rectángulo del cuadro de herramientas lo que pretendía simular y también después de muchos intentos dí con lo de la contraseña en máscara de entrada pero con tu sugerencia de lo de activado no lo he podido hacer. Te explico cree una tabla (DatosPersonales) con los siguientes campos: Id(clave principal) autonumérico; NOMBRE texto; ORGANIZACIÓN texto; e-mail texto y ACTIVADO Sí/No. En el form de inicio en el command button puse If ACTIVADO=Sí then abrir el form de trabajo y else abrir form de código pero que he logrado que a veces me abra directamente el form de trabajo pero cierro y abro de nuevo y me abre el de código creo y no estoy seguro que se deba a que se carga + de un registro ¿cómo se puede hacer para que cuando le de ha activado, es decir una tabla que admita sólo un registro? Bueno es que tengo tantas cosas en mente que no puedo explicarlas... Puedes ayudarme a solucionarlo... G R A C I A S. NOTA: estuve durante 1 año en Las Palmas concretamente en el Arsenal fui cabo de la policía naval durante la mili...
Exactamente, tienes que hacer una tabla SOLO Y EXCLUSIVAMENTE para el activado y con UN SOLO REGISTRO. Así no hay problemas : ). Por cierto mi e-mail es [email protected] Por si algún día no estoy disponible en todoexpertos o si quieres hablar de otras cosas. Yo no vivo en Las Palmas capital, vivo en Ingenio, un pueblo que está al lado del aeropuerto. Cualquier pregunta que tengas no dudes en comentarla. También te voy a recomendar un par de páginas de programación: http://guille.costasol.net/indice.asp (muy buena sobre visual basic) www.lawebdelprogramador.com (Hay de TODO en programacion) www.portalvb.com (más de visual) www.vbmania.com.br (tb de visual)