Visual Basic - listbox maldito

Life is soft - evento anual de software empresarial
 
Vista:

listbox maldito

Publicado por David (14 intervenciones) el 08/11/2007 20:19:56
bien, tengo solventado lo que me guarde los elementos seleccionados en un listbox en una base de datos de access, el problema viene para recuperar esta informacion

la base de datos tiene tres columnas: Nombre, codigo y pendiente
los registros son todo texto simple

he puesto que si esta seleccionado guarde un No en Pendiente y un Si por defecto.

Ahora voy a cargar el list box pero no me deja, os copio una parte del codigo, a ver que esta mal, porque ya no se que hacerle.

rs.LockType = adLockOptimistic
rs.CursorType = adOpenDynamic
rs.CursorLocation = adUseServer
rs.Open "select * from articulos where nombre='" + List1.Text + "'", cn
If Not rs.BOF = True Then
rs.MoveFirst
End If
Do While Not rs.EOF
If rs.Fields("Pendiente") = "Si" Then Form2.List1.seleted(0) = True Else Form2.List1.seleted(0) = False
Form2.List1.AddItem rs.Fields("codigo")
rs.MoveNext
Loop
rs.Close

list1.text es el nombre en el form 1 y el form 2 es dnd esta el listbox que quiero actualizar con esto datos.

agradezco cualquier ayuda y ya sabeis que llevo una L de novato como la copa de un pino.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:listbox maldito

Publicado por El conejo (124 intervenciones) el 08/11/2007 20:56:24
Hola.

Podrías describir el error, la descripción de este.
Ahora, la propiedad es SELECTED(INDICE)

Do While Not rs.EOF
If rs.Fields("Pendiente") = "Si" Then Form2.List1.seleted(0) = True Else Form2.List1.seleted(0) = False <-- estas siempre en el mismo indice o para lo que necesitas debe ser siempre en ese indice?
Form2.List1.AddItem rs.Fields("codigo")
rs.MoveNext
Loop

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:listbox maldito

Publicado por David (14 intervenciones) el 08/11/2007 21:13:35
no es como unn listado en el cual segun un nombre, este tiene asociados diversos productos representados en un listbox. y estos productos hay algunos que estan pendientes y otros no. necesito que al recuperar este listado tambien recupero en un listbox los que estan pendientes o no, no solo el primero que recupere. gracias y un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:listbox maldito

Publicado por El conejo (124 intervenciones) el 08/11/2007 21:28:25
Do While Not rs.EOF
Form2.List1.AddItem rs.Fields("codigo")
' si es si sera 1 de lo contrario sera 0, no.
If rs.Fields("Pendiente") = "Si" Then
Form2.List1.itemdata(Form2.List1.listcount-1) = 1
Else
Form2.List1.itemdata(Form2.List1.listcount-1) = 0
endif
rs.MoveNext
Loop
' terminas de cargar los datos y verificas item a item si el itemdata es 1 o 0 y con eso seleccionas, seria algo asi. (disculpa si me salto algun parentesis o algun error de sintaxy, lo estoy escribiendo directo sin probar en VB)
for i = 0 to Form2.List1.listcount -1
if Form2.List1.itemdata(i) = 1 then
Form2.List1.selected(i)= true
else
Form2.List1.selected(i)= false
endif
next i

la otra forma que se me ocurre sería muy parecida pero se evita el segundo FOR.
i=0
Do While Not rs.EOF
Form2.List1.AddItem rs.Fields("codigo")
If rs.Fields("Pendiente") = "Si" Then
Form2.List1.selected(i)= true
Else
Form2.List1.selected(i)= false
endif
i=i+1
rs.MoveNext
Loop

Espero te orienten.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:listbox maldito

Publicado por david (14 intervenciones) el 08/11/2007 21:53:59
muchisimas gracias, ya esta solventado. al final he utilizado tu segunda opcion, la vi menos compleja.a ver si con vuestros conejos y poco a poco voy aprendiendo ya que soy autodidacta. Tengo que probar que a la hora de imprimir si me imprimira los articulos tambien seleccionados o no, pero mañana sera otro dia.
gracias y un salduo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:listbox maldito

Publicado por Pancho (31 intervenciones) el 08/11/2007 21:59:40
esto me ha gustado

"a ver si con vuestros conejos y poco a poco voy aprendiendo"

es que hay demasiados "conejos"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:listbox maldito

Publicado por david (14 intervenciones) el 08/11/2007 22:10:01
lo decia por la persona que me ha contestado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:listbox maldito

Publicado por Pancho (31 intervenciones) el 08/11/2007 22:24:53
y yo por lo mismo
o es que pensaste otra cosa?

conejo.: Mamífero del orden de los Lagomorfos, de unos cuatro decímetros de largo, comprendida la cola. Tiene pelo espeso de color ordinariamente gris, orejas tan largas como la cabeza, patas posteriores más largas que las anteriores, aquellas con cuatro dedos y estas con cinco, y cola muy corta. Vive en madrigueras, se domestica fácilmente, su carne es comestible.

El periodo de gestación dura unos 30 días y las camadas suelen ser de 5 o 6 gazapos.

con lo cual si te pones a calcular:
6 x 12 = 72 por año

con lo cual ¿hay muchos conejos, o no?

y ahora te pones a pensar, que falta te hace.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:listbox maldito

Publicado por El conejo (124 intervenciones) el 08/11/2007 22:19:10
jajajjajaja notable, descubrió el misterio somo 3 (8)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar