Visual Basic para Aplicaciones - Sincronizar dos list box

Life is soft - evento anual de software empresarial
 
Vista:

Sincronizar dos list box

Publicado por Tania (10 intervenciones) el 02/08/2007 09:01:04
Hola! !

Estoy haciendo una aplicacion en excel y tengo en una misma frame dos listbox con diferentes números de elementos pero quiero que cuando se seleccione un elemento de la primera lista, a la vez se seleccionen los que les corresponden a la segunda, es decir si supongo que en la primera tengo varios elementos y selecciono uno que es ensalada, entonces en la segunda listbox se seleccione automaticamente lechuga, tomate, maíz por ejemplo, de entre otros elementos que la forman.
No se como programarlo... si alguien me puede ayudar...

Muchas gracias!!!!!!!
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:Sincronizar dos list box

Publicado por JuanC (243 intervenciones) el 04/08/2007 15:13:26
Algo así puede ayudarte...
(el listbox2 debe tener habilitada la propiedad de selección múltiple)

Option Explicit

'// By JuanC - 4 de Agosto 2007

Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim lCount&, i&
On Error Resume Next
lCount = ListBox2.ListCount - 1
For i = 0 To lCount
ListBox2.Selected(i) = False
Next

i = ListBox1.ListIndex
Select Case i
Case 0
With ListBox2
.Selected(0) = True
.Selected(1) = True
.Selected(2) = True
End With
Case 1
With ListBox2
.Selected(3) = True
.Selected(4) = True
.Selected(5) = True
End With
Case Else
ListBox2.Selected(6) = True

End Select
End Sub

Saludos desde Baires, JuanC
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:Sincronizar dos list box

Publicado por Tania (10 intervenciones) el 09/08/2007 13:15:29
Gracias, JuanC!!

Pero el código que me has puesto es válido si solo se selecciona un elemento de la listbox1, pero que pasa si quiero seleccionar más de uno?

Además los elementos de mi listbox2, que se tienen que seleccionar de forma automática, no están correlativos y los cojo de una tabla de una base de datos con una consulta a dicha base por lo que se pueden modificar (se pueden ampliar o reducir los elementos de la listbox2).

Ahi te mando el código:

Sub seleccion_aptos_nacional()

Dim db As Database

Set db = OpenDatabase("C:\CDM\bd1.mdb")

Dim SQL_CONSULTA6 As String

Dim Aptos As Recordset
Dim cons6 As Recordset

Set Aptos = db.OpenRecordset("aeropuertos")

SQL_CONSULTA6 = "SELECT DISTINCT aeropuertos.airport FROM agentesactivos, diremail, aeropuertos WHERE agentesactivos.airport = diremail.airport and agentesactivos.airport = aeropuertos.airport and agentesactivos.active = 0 and diremail.reptype = 1 and agentesactivos.reptype = 1 and agentesactivos.company = 'SWISSPORT ESPAÑA';"

Set cons6 = db.OpenRecordset(SQL_CONSULTA6)

Err = 0

cons6.MoveFirst

If Err Then
Err = 0
MsgBox "No hay datos que coincidan con la búsqueda especificada"
Exit Sub
End If


With form_ppal

cons6.MoveLast

cons6.MoveFirst

Dim i As Integer
Dim j As Integer

Dim lcount As Integer

lcount = .listbox2 - 1

For i = 0 To lcount
.listbox2.Selected(i) = False
Next


i = .listbox1.ListIndex

While lcount
For j = 0 To lcount
If .lb_aptos_nacional.List(j, 0) = cons6.Fields(0).Name Then
With .lb_aptos_nacional
.Selected(j) = True
End With
cons6.MoveNext
End If
Next
lcount = lcount - 1
Wend

End With

End Sub

lo que pasa que no se como hacer la comparativa del if, lo que quiero hacer con el if es que recorra ambas listas, la listbox2 y la lista con los elementos de la consulta y que seleccione los elementos de la listbox2 que se encuentran en cons6.fields(0) pero no se como ponerla ya que asi me da error.

Mil gracias a quien me saque de mi gran duda!!
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:Sincronizar dos list box

Publicado por Tania (10 intervenciones) el 16/08/2007 11:34:33
Ya lo he conseguido hacer, me ha costado como unos 4 días... pero al final lo conseguí!!!

Saludos,
Tania
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

como puedo pasar informacion de un list box a otro

Publicado por jaz (1 intervención) el 09/12/2008 21:02:22
hola soy jaz. y me gustaria como puedo pasas informacion de un list box a otro en visual basic. gracias.
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