| ID | Asunto | Fecha | Nick | |
| 51690 | SelStart no funciona en VBA Access | 02/02/10 16:57 | Xusso | |  |
Buenas tardes: Siguiendo el curso basico de programacion en VB, en el tema 2, hay el siguiente procedimiento para escribir el texto en mayusculas en un cuadro de texto: Private Sub Text1_change() Text1 = Ucase(Text1) Text1.SelStart = Len(Text1) End Sub
En VB6 funciona pero en VBA Access, en un formulario con un cuadro de texto y el mismo procedimiento, no sucede nada. No escribe nada. No funciona. ¿Por que?
Agradezco ayuda de antemano. |
|
| ID | Asunto | Fecha | Nick | |
| 51702 | Re: SelStart no funciona en VBA Access (Resp: 51690) | 04/02/10 16:30 | DragonRed | |  |
por lo visto no te has puesto a averiguar que es selstart, ucase ni la diferencia entre los controles de vb y vba. selstart especifica la posicion en la que se iniciara la escritura en la caja de texto. Si le pones que se inicie en la longitud del texto ingresado, siempre empezara a escribir al final. Si quieres que empiece a escribir desde la primera posicion del textboxt ponle 0, ahi veras la diferencia. el ucase transforma el "texto" escrito en minusculas a MAYUSCULAS.
Text1.Text = UCase(Text1.Text) Text1.SelStart = 0 'Len(Text1.Text)
me olvidaba, cuando vas a asignar un valor o obtener un valor de un textbox usa la propiedad text, no lo dejes con el nombre del control. lo mismo es para el resto de controles. es una mala practica hacer eso
Saludos Lima Peru
"Si se puede imaginar, se puede programar" [Editado: DragonRed, 04/02/2010 16:32:17]
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 51704 | Re: SelStart no funciona en VBA Access (Resp: 51690) | 04/02/10 20:32 | Xusso | | |
Buenas noches, DragonRed: GRACIAS, incluso por "reñirme". Busque selstart en la ayuda de VBA y no me aclaró nada, ya que decia que marcaba el inicio de la escritura. Yo entendí que empezaría por la posicion 0 pero que la siguiente posicion de len seria 1 ya que habia escrito un caracter. Esta aclaracion viene por lo de consultar la ayuda. PERO....... Gracias a tu contestación he probado de nuevo el codigo y funciona igual que en el cuso: funciona y escribe al reves. He "pensado" y he probado esto, y entonces funciona escribiendo todo en mayusculas y con el orden correcto: Private Sub Text1_Change() Text1.Text = UCase(Text1.Text) Text1.SelStart = 0 + Len(Text1.Text) End Sub Ah, y fijate, pongo la propiedad del text. MUCHISIMAS GRACIAS, de nuevo.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 51705 | Re: SelStart no funciona en VBA Access (Resp: 51704) | 04/02/10 21:18 | Xusso | |  |
Buenas noches, de nuevo: No sé como explicarme. He probado esto:
Private Sub Text1_Change() Text1.Text = UCase(Text1.Text) Text1.SelStart = Len(Text1.Text) End Sub
y funciona.... . La unica diferencia esta en especificar Len(Text1.Text). Si pongo Len(Text1) no funciona. Tiene razón DragonRed en lo especificar la propiedad y no solo el nombre del campo. Gracias de nuevo.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |