Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: TheGhost(Z) en 9 Marzo 2008, 04:19 am



Título: Como Guardar ID y Dato en un Combo
Publicado por: TheGhost(Z) en 9 Marzo 2008, 04:19 am
Hola, miren que tengo que guardar La ID y el DATO de una tabla en un combo. Lo he intentado con:

Código:
Combo1.AddItem "PEDRO" 'Nombre
Combo1.ItemData(.Combo1.NewIndex) = 10 'Codigo del nombre

Combo1.AddItem "JUAN" 'Nombre
Combo1.ItemData(.Combo1.NewIndex) = 11 'Codigo del nombre

Esto me resulta erfectamente, pero no me sale para guadar el ID de tipo String, por ejemplo

Código:
Combo1.AddItem "PERU" 'Pais
Combo1.ItemData(.Combo1.NewIndex) = "PE" 'Codigo del pais

Combo1.AddItem "CHILE" 'Pais
Combo1.ItemData(.Combo1.NewIndex) = "CL" 'Codigo del pais

Me arroja el sgte error.. "Llamada a procedimiento o argumentos no validos".. lo que estuve notando es que creo que solo se puede guardar la ID como tipo Numerico, y como yo le estuve metiendo un valor String me arroja error.

¿como puedo hacer para guardar un dato String?


En la web enconre esto...
Código:
Estoy llenando un combobox con este codigo:     CmbBox.Items.Add(New 
ListItem(texto, valor))


---------------
Do While DR.Read()
    CmbEspec.Items.Add(New ListItem(DR.Item("DESCRIPCION"),
DR.Item("COD_ESPEC")))
Loop
---------------


Me dice "ListItem no esta definido"


Donde esta el error en lo que estoy tratando de hacer???


Gracias,


Edwin.


Saludos,
Pedro



Título: Re: Como Guardar ID y Dato en un Combo
Publicado por: naderST en 9 Marzo 2008, 04:33 am
Creo que no se puede porque solo admite numeros...


Título: Re: Como Guardar ID y Dato en un Combo
Publicado por: Chefito en 9 Marzo 2008, 06:30 am
No te serviría definir tu un array y luego tirar de él?
Ejem:
'Manteniendo el orden del combo y el array no hace falta indizarlos
Código:
Paises=array("ES","FR","PO")
Combo1.AddItem "ESPAÑA" 'Pais
Combo1.AddItem "FRANCIA" 'Pais
Combo1.Additem "PORTUGAL"
' Y los recuperas poniendo el indice en el array
siglaspais=paises(combo1.listindex)
Es algo general. Tendrías que meterlo en el evento del combo la recuperación de las siglas.....o lo que quieras hacer  ;).
Saludos.


Título: Re: Como Guardar ID y Dato en un Combo
Publicado por: TheGhost(Z) en 9 Marzo 2008, 08:45 am
Hola utiliso muchos formularios. donde lo coloco eso. ademas cuando cierre el formulario tendria que descargar el arrray para que no ocupe memoria no?..

no se como usar array todavi..


Título: Re: Como Guardar ID y Dato en un Combo
Publicado por: Chefito en 9 Marzo 2008, 16:43 pm
Que donde colocas eso? Y yo que se! :xD. El programa es tuyo y tu tienes el código.....no yo. Yo te dí una pequeña solución a tu duda inicial. Ahora te toca a ti adaptarla a tu programa. No se...supongo que tendrías que declarar el array publicamente y que siglaspais=paises(combo1.listindex) tendría que ir en el evento combo1_click, por ejem. Seguidamente siglaspais tendrías que pasarselo a la consulta que ataqua la tabla de las ciudades y luego cargar el 2 combo con el resultado de ese recordset anterior conteniendo las ciudades coincidentes con el ID. Todo esto debe ir metido en el combo1_click. Y esto lo digo basandome en el tema anterior que posteaste.
Creo que el vb descarga automaticamente el array de la memoria....pero si me equivoco tampoco cuesta tanto meter en el form1_unload un set paises= nothing.
Y en lo de la utilización del array....para eso está google. Además, practicamente con el ejemplo anterior se ve como se utiliza....no tiene mucho más. Pues eso, creas un array de elementos, y los puedes recuperar por medio de su índice numérico.....pais(0)="ES",pais(1)="FR",etc (el rango del índice del array comienza por 0 por que el vb tiene por defecto el option base 0).
Saludos.


Título: Re: Como Guardar ID y Dato en un Combo
Publicado por: ((( SPAWN ))) en 9 Marzo 2008, 17:08 pm
Hola, coincido con lo q dice chefito, otra forma si queres eliminar el array de memoria utliza
Código:
Erase Paises

Saludos