Imprimir página | Cerrar ventana

texto en inputbox

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84201
Fecha de impresión: 19/Junio/2019 a las 12:56


Tema: texto en inputbox
Publicado por: cpampasPT
Asunto: texto en inputbox
Fecha de publicación: 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 ?





Respuestas:
Publicado por: cpampasPT
Fecha de publicación: 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


Publicado por: VIMIPAS
Fecha de publicación: 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


Publicado por: cpampasPT
Fecha de publicación: 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


Publicado por: VIMIPAS
Fecha de publicación: 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


Publicado por: cpampasPT
Fecha de publicación: 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




Imprimir página | Cerrar ventana