Domingo 22 de Diciembre de 2024, 08:27
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Re: Codigo para Pasar Items de un Combox a Varios TextBox
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Re: Codigo para Pasar Items de un Combox a Varios TextBox (Leído 10935 veces)
mexican
Miembro activo
Mensajes: 32
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
en:
Miércoles 17 de Septiembre de 2003, 19:47 »
0
Codigo para Pasar Items de un Combox a Varios TextBox
Tengo un ComBox con una lista de items, estos items quiero pasarlos de uno en uno por medio de un CommandButton a 15 TextBox
Es decir el codigo me va checar si el primer TextBox ya esta lleno con un item entonces lo pasa al segundo y si el primero y el segundo ya estan llenos entonces me lo pasa al tercero y asi sucesivamente
Gracias de Antemano
Tweet
Brroz
Miembro de PLATA
Mensajes: 1058
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #1 en:
Miércoles 17 de Septiembre de 2003, 20:15 »
0
Hola mexican
Para probar el ejemplo, añade a un formulario un ComboBox llamado Combo1 y un TextBox llamado Text1 al que establecerás la propiedad
Index
=
0
.
Si quieres, para tener datos de prueba, en el evento Load del formulario carga el combo con 11 items:
**************************************
Private Sub Form_Load
Dim int1 As Integer
For int1 = 0 to 10
Combo1.AddItem "Elemento índice " & int1
Next int1
End Sub
**************************************
Ahora, al seleccionar un elemento del combo, este se añade a un nuevo TextBox y se elimina del combo
*******************************************
Private Sub Combo1_Click()
If Combo1.ListIndex < 0 Then Exit Sub
Dim int1 As Integer
int1 = Text1.UBound
Dim int2 As Integer, ind1 As Boolean
For int2 = 0 To int1
If Len(Text1(int2).Text) = 0 Then
Text1(int2).Text = Combo1.List(Combo1.ListIndex)
ind1 = True
Exit For
End If
Next int2
If Not ind1 Then
int1 = int1 + 1
Load Text1(int1)
Text1(int1).Move Text1(int1 - 1).Left, Text1(int1 - 1).Top + Text1(int1 - 1).Height + 10
Text1(int1).Text = Combo1.List(Combo1.ListIndex)
Text1(int1).Visible = True
End If
Combo1.RemoveItem Combo1.ListIndex
End Sub
*******************************************
Ahora sólo tienes que adaptar el código a tus necesidades. No te compliques con lo del Load Text1(n)... La gracia del ejemplo para lo que tú quieres hacer es:
Textn.Text = Combo1.List(Combo1.ListIndex)
Suerte.
chiaravel
Miembro MUY activo
Mensajes: 242
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #2 en:
Miércoles 17 de Septiembre de 2003, 20:19 »
0
una vez convertidos tus textbox en matriz colocas el siguiente codigo.
Dim i as integer, ya_esta as boolean
Dim o as integer
for i = 0 to 14
ya_esta=false
o=1
do until ya_esta=true
if len(textbox.item(o).text)>0 then
o=o+1
else
textbox.item(o).text=combo.list(i)
ya_esta=true
endif
loop
next
Y listo...
Suerte
Pablo Tilotta
Analista de Sistemas
Argentina
mexican
Miembro activo
Mensajes: 32
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #3 en:
Miércoles 17 de Septiembre de 2003, 22:33 »
0
Creo que tu codigo sería el mas sencillo y facil sin despreciar el de Brroz, lo que pasa es que no entiendo eso de matriz de controles, disculpa mi ignorancia, soy novato
Otra cosa me imagino que este codigo que me diste va puesto en el evento del CommandButton
Gracias
chiaravel
Miembro MUY activo
Mensajes: 242
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #4 en:
Miércoles 17 de Septiembre de 2003, 22:44 »
0
Este codigo ponlo donde tu quieras y funcionara.
En cuanto a una matriz de controles veras...
Cuando tu insertas un objeto en tu formulario este adquiere un nombre autonumerico, ejemplo
TEXT1, TEXT2, TEXT3, etc,etc
.
Bien...el problema de esto es que si tuvieras que hacer una operacion que involucre a todos estos textbox, tendrias que uno por uno setarlos manualmente, en cambio cuando los conviertes en matriz los puedes recorrer como te indique en el ejemplo simplemente por su nombre y luego por un indice.
Ejemplo.
text1.item(nro de textbox).text="hola"
Pero tu duda hasta este momento debe ser... "Como creo una matriz de controles ?"
Bueno...
Es muy simple..
Solo seleccionas el primer textbox, seleccionas en el menu edicion
Copiar
y luego
Pegar
.
Te aparecera automaticamente...
Ya existe un control llamado 'text1'. ¿Desea Crear una matriz de controles?
Y listo
Pegas
tantos controles como elementos necesites y luego veras que todos se llaman igual
Text1
.
Debes tener en cuenta que al pertenecer a una matriz de controles, a partir de ese momento cada vez que quieras referirte a alguno de ellos debes indicar
TEXT1.ITEM(nro de textbox)
Espero que me hayas entendido.
Suerte
Pablo Tilotta
Analista de Sistemas
Argentina
mexican
Miembro activo
Mensajes: 32
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #5 en:
Jueves 18 de Septiembre de 2003, 15:43 »
0
Hola Chiaravel
No se si me explique bien:
Ya tengo el combox con Items adentro
Quiero que al escoger un item del combox, y luego le doy click a un CommandButton me pase el item que escogi del combox a un textbox, si el primer textbox esta vacio entonces me lo ponga ahí, y si esta lleno entonces me lo pase al segundo textbox, 3, 4, 5, 6 etc.
Estos pasos se repiten cada vez que escoja un item del combox hasta llenar los 14 textbox
El codigo que me diste al darle click al botton me pone este error:
Error '340' en tiempo de ejecucion
El elemento '15' de la matriz de controles no existe
Gracias de antemano
chiaravel
Miembro MUY activo
Mensajes: 242
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #6 en:
Jueves 18 de Septiembre de 2003, 15:49 »
0
Hola.
En primer lugar el error te esta indicando que no has creado la matriz de controles como yo te explique.
No te habia entendido bien... Disculpa.
La Sintaxis para lo que tu quieres es...
Private Sub Button1_click()
Dim i as integer, ya_esta as boolean
Dim o as integer
ya_esta=false
o=1
do until ya_esta=true
if len(textbox.item(o).text)>0 then
o=o+1
else
textbox.item(o).text=combo.list(combo.listindex)
ya_esta=true
endif
loop
Listo..
Espero que ahora te funcione.
Suerte
Pablo Tilotta
Analista de Sistemas
Argentina
mexican
Miembro activo
Mensajes: 32
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #7 en:
Jueves 18 de Septiembre de 2003, 15:57 »
0
En el codigo que me diste me sujieres que ponga en el Form Load un codigo, como le hago para poner dos codigos diferentes en el Form Load es decir ya tengo un codigo para que me cargue items el combox, como pongo el tuyo
Gracias
Brroz
Miembro de PLATA
Mensajes: 1058
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #8 en:
Jueves 18 de Septiembre de 2003, 16:36 »
0
Hola mexican.
Imos ver...
El código de ejemplo lo pongo con el fin de que tu lo analices, entiendas y ADAPTES a tus propósitos. El único motivo del código que va en Form_Load es añadir al combo datos de prueba para el ejemplo.
Lo que está claro es que NO TE VALDRÁ DE NADA PEGAR EL CÓDIGO DE EJEMPLO TAL CÚAL. Tienes que adaptarlo a lo que tú necesitas.
De todas formas, como veo que tienes verdaderos problemas para compreder los ejemplos (incluso a pesar de la explicación de Chiaravel), sin que sirva de precedente y con permiso de todos, te adjunto el código que necesitas.
********************************************
Private Sub Command1_Click()
If Combo1.ListIndex < 0 Then
MsgBox "Seleccione primero un elemento"
Exit Sub
End If
Dim ctl1 As Control, int1 As Integer
For int1 = 1 To 15
Set ctl1 = Me.Controls("Text" & int1)
If Len(ctl1.Text) = 0 Then
ctl1.Text = Combo1.List(Combo1.ListIndex)
Exit For
End If
Next int1
Set ctl1 = Nothing
End Sub
*********************************************
Por favor, intenta comprender el ejemplo para que puedas aprender por ti mismo.
Ánimo y suerte.
mexican
Miembro activo
Mensajes: 32
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #9 en:
Jueves 18 de Septiembre de 2003, 18:47 »
0
Creo que el probelma esta en la Matriz de Control" pero por mas que le doy Vueltas al codigo no logro entenderlo
No se si puedan darme un ejemplo ya echo con los textbox y el combox
Entenderia si no me lo pueden dar y disculpen otra vez mi ignorancia
Gracias
ramirog@valle.net.mx
Brroz
Miembro de PLATA
Mensajes: 1058
Re: Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #10 en:
Jueves 18 de Septiembre de 2003, 18:58 »
0
mexican, mexican...
Este último ejemplo de código debe de funcionar tal cúal en un formulario como el que decías. No usa ninguna matriz de controles (a diferencia del primero).
En tu formulario dices que tienes un ComboBox (supongo que llamado Combo1, si no es así, sustituye el nombre) y 15 TextBox llamados Text1, Text2, Text3,..., Text14,Text15. Muy bien. El código es para un ComandButton llamado 'Command1'. Si no lo tienes, añádelo. Copia el ejemplo (el último) en el formulario y ya está.
Mira el código hace lo siguiente:
Private Sub Command1_Click() 'Evento Click de un CommandButton llamado Command1
If Combo1.ListIndex < 0 Then 'Si no hay elemento seleccionado en el combo
MsgBox "Seleccione primero un elemento" 'Enviar un mensaje de aviso
Exit Sub 'Salir del evento
End If
Dim ctl1 As Control, int1 As Integer 'Declarar variables: una de tipo 'Control' y otra entero.
For int1 = 1 To 15 'Bucle del 1 al 15 (dices que tienes 15 textbox)
Set ctl1 = Me.Controls("Text" & int1) 'Asignar a la variable cada uno de los textbox (Text1, Text2, Text3 ....)
If Len(ctl1.Text) = 0 Then 'Si la longitud del texto del TextBox al que se refiere la variable es 0 (está vacio)
ctl1.Text = Combo1.List(Combo1.ListIndex) 'Asignar al textbox el valor del elemento seleccionado en el combo
Exit For 'y salir del bucle
End If
Next int1 'Bucle
Set ctl1 = Nothing 'Liberar referencia a objetos
End Sub
Yo creo que debería quedar claro, ¿no?
Chao.
mexican
Miembro activo
Mensajes: 32
Codigo para Pasar Items de un Combox a Varios TextBox
«
Respuesta #11 en:
Jueves 18 de Septiembre de 2003, 19:41 »
0
Me acabas de resolver el problema, eres un genio
Creo el mayor problema era que cuando ponia los TextBox en formulario los TextBox iban con el Text1 escrito por default y no se los quitaba
Adios gracias, hasta la próxima
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Re: Codigo para Pasar Items de un Combox a Varios TextBox