Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Los moderadores, MVP y administradores podrán seguir editando, respondiendo o creando nuevos mensajes

Con idea de que puedan ayudar a responder e ir cerrando mensajes ;-)

  Foro: VB6.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 51690 - SelStart no funciona en VBA Access
IDAsuntoFechaNick 
51690 SelStart no funciona en VBA Access02/02/10 16:57Xusso   
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.
IDAsuntoFechaNick 
51702 Re: SelStart no funciona en VBA Access (Resp: 51690)04/02/10 16:30DragonRed   
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.
IDAsuntoFechaNick 
51704 Re: SelStart no funciona en VBA Access (Resp: 51690)04/02/10 20:32Xusso   
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.
IDAsuntoFechaNick 
51705 Re: SelStart no funciona en VBA Access (Resp: 51704)04/02/10 21:18Xusso   
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.

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 10/06/2026 11:45:56 GMT