** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - texto en inputbox
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradotexto en inputbox

 Responder Responder
Autor
Mensaje
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 486
Enlace directo a este mensaje Tema: texto en inputbox
    Enviado: 02/Enero/2019 a las 08:56
Buenos dias amigos,
TEngo el siguiente codigo que me obliga a tener como maximo 8 caracteres en mi inputbox :

Dim str As String
str = InputBox("Titulo", Title:="Nombre Contrato")
    Do Until Len(str) > 0 And Len(str) < 8
        MsgBox ("Como maxino 8 caracteres")
       str = InputBox("Titulo", "Nombre Contrato", str)
    Loop

Lo que pretendo es que al pasarse a la linea en rojo, el texto en el control no aparezca selecionado
Algo asi como en una caja de texto (selStart =0)
Hay forma de conseguir esto ?




Editado por cpampasPT - 02/Enero/2019 a las 08:57
Arriba
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 486
Enlace directo a este mensaje Enviado: 03/Enero/2019 a las 09:18
La verdad es que despues de mucho buscar, parece ser que esto no es posible, ya que el codigo se para al abrir la inputbox

Gracias y podeis cerrar el hilo
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5190
Enlace directo a este mensaje Enviado: 03/Enero/2019 a las 21:33
Hola buenas noches.

Aprovechando que aún no te han cerrado el hilo, te pongo esto por si te interesa analizarlo.

Option Compare Database
Option Explicit

Dim LARGO As Integer



Private Sub Texto3_Change()
If LARGO = 8 Then
    Me.Texto3 = Left(Me.Texto3.Text, 8)
    Me.Texto3.SelStart = 9
    Exit Sub
End If
LARGO = Len(Me.Texto3.Text)
End Sub

Es una prueba que hice con un simple control de texto en un formulario. La variable LARGO la tengo puesta en el encabezamiento del formulario.

Pruébalo si quieres, a ver si te iría bien.

Saludos
Gracias
Arriba
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 486
Enlace directo a este mensaje Enviado: 03/Enero/2019 a las 22:35
hola Vimipas,

Tu control creo que es una caja de texto y el mio una inputbox, por eso me parece que no se adapta
Lo que si encontre en la WEB  en un foro de VB6 y que podria funcionar seria algo com la funcion Timer +sendKeys, pero no consegui adaptarlo

Gracias por tu ayuda


Editado por cpampasPT - 03/Enero/2019 a las 22:36
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5190
Enlace directo a este mensaje Enviado: 04/Enero/2019 a las 20:04
Hola de nuevo.

Pues la idea final que te quería transmitir es esa: "que tu mismo te puedes crear un mini formulario (modal/emergente, y que hace las veces del inputbox) para coger la variable del inputbox que Access tiene por defecto, pero que a ti no te vale".

Una vez que tu has conseguido en tu mini formulario lo que quieres, pues tomas el valor, en este caso de 8 caracteres para lo que tu necesites.

Saludos.
Gracias
Arriba
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 486
Enlace directo a este mensaje Enviado: 05/Enero/2019 a las 10:04
Hola Vimipas,
Ahora entendi. Pues la verdad creo que  seguire tu sugerencia de crear un formulario que "simule" la inputbox y asi podria usar "selStart"
Gracias Vimipas,

y podeis cerrar el hilo

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable