Como extraer información a 5 textbox diferentes?

Estimados desde una planilla excel tengo 5 celdas hacia abajo de la siguiente manera:

Al momento de pegarlas en un textbox de un formulario de access queda de la siguiente manera:

Como puedo pegar cada serie de numero en estos 5 textbox diferentes?

EJ:

TEXTO1 = 784545,

TEXTO2 = 334345,

TEXTO3 = 32132113,

TEXTO4 = 321312,

 TEXTO5=  4456453

Les adjunto la imagen de los 5 textbox diferentes:

Ojala me puedan ayudar de verdad se los agradecería mucho

1 Respuesta

Respuesta
1

Añade un botón a tu formulario, y en su evento "Al hacer Click" le generas este código:

Dim miTexto As String
Dim miMatriz() As String
Dim i As Integer
miTexto = Me.Texto0
miTexto = Replace(miTexto, Chr(10), "")
miTexto = Replace(miTexto, Chr(13), " ")
miMatriz = Split(miTexto, " ")
For i = 0 To UBound(miMatriz)
    Me.Controls("Texto" & i + 1) = miMatriz(i)
Next i

He supuesto que tus cuadros de texto se llaman Texto0, Texto1, Texto2....

Si no fuera así, en vez del bucle For.. Next, tendrás que asignar directamente los valores, por ejemplo:

Me.PrimerCuadro=miMatriz(0)

Me.SegundoCuadro)miMatriz(1)

Me.TercerCuadro=miMatriz(2)

y así...

Se me ha colado una errata:

es Me.SegundoCuadro=miMatriz(1) y no Me.SegundoCuadro)miMatriz(1)

Estimado:

Gusto en saludar al momento de seguir tus pasos y apretar el botón para que se pegue el lista en los cinco textos diferentes me arroja el siguiente error:

Quedare muy atento a tus comentarios ya que me tiene complicado

Y de antemano muchas gracias

Saludos

Borra las líneas del bucle For... Next, es decir, estas:

For i = 0 To UBound(miMatriz)
    Me.Controls("Texto" & i + 1) = miMatriz(i)
Next i

Estimado me funciona de maravilla! lo unico es que si pongo por ejemplo 4 o 3 o 2 o 1 numero de serie me tira error ya que solo me deja de a 5 que puedo hacer en este caso?

Te agradecería mucho tu ayuda

Saludos

Ah, pero tu pregunta era extraer a 5 textboxs... y eso hace el código propuesto.

Si el número de datos puede variar, cambia la cosa.

Se me ocurren varias opciones:

1º/ La más fácil, pero también más "peligrosa" (si ocurre algún otro error no te avisará), es que como primera línea del código pongas:

On error resume next

2º/ Lleva más código, y consiste en analizar cuántos datos contiene la matriz, para saber cuántos textbox ha de rellenar. Tendrás que eliminar la parte que asignas los valores a los cuadros de texto (las últimas 5 líneas) y poner este código:

Select Case UBound(miMatriz)
Case 0  'un sólo elemento=> Rellenas sólo el primer textbox
Me.Texto10=miMatriz(0)
Case 1 'dos elementos=> Rellenas los dos primeros textboxes
Me.Texto10=miMatriz(0)
Me.Texto59=miMatriz(1)
Case 2
Me.Texto10=miMatriz(0)
Me.Texto59=miMatriz(1)
Me.Texto87=miMatriz(2)
Case 3
Me.Texto10=miMatriz(0)
Me.Texto59=miMatriz(1)
Me.Texto87=miMatriz(2)
Me.Texto115=miMatriz(3)
Case 4
Me.Texto10=miMatriz(0)
Me.Texto59=miMatriz(1)
Me.Texto87=miMatriz(2)
Me.Texto115=miMatriz(3)
Me.Texto143=miMatriz(3)
End Select

En tu código veo una cosa rara: si usas Me, no te hace falta poner Form!

A ver si así te sirve.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas