Selección multiple
Publicado por leidijaidu (27 intervenciones) el 10/03/2009 14:03:59
Hola,
tengo un formulario llamado Busq1 con lo siguiente: Un cuadro combinado llamado txtMunicipio, dos cuadros de selección múltiple llamados Texto1 y Texto2 respectivamente y un botón llamado Seleccionar.
Despliego txtMunicipio, selecciono un municipio y Texto1 me muestra las calles de dicho municipio. Lo que necesito es que al colocarme sobre una calle y darle al botón Seleccionar la calle aparezca en el cuadro Texto2, y así tantas veces como quiera (ir bajando en el listado de calles e ir seleccionando las que me interesen). O sea, como cuando creas un formulario con el asistente y seleccionas los campos que quieres meter.
He intentado hacerlo pero no me funciona. Abajo os pongo como lo he hecho. Alguien puede ayudarme y decirme qué estoy haciendo mal? muchas gracias!
En el origen de fila de Texto1 tengo:
SELECT Calles.[Código calle], Captaciones.[Denominación calle] FROM Calles WHERE (((Calles.[Municipio])=Formularios!Busq1!txtMunicipio));
En el origen de fila de Texto2 tengo:
SELECT Calles.[Código calle], Calles.[Denominación calle] FROM Calles WHERE (((Calles.[Código calle]) In (" & selecc & ")));
Y en el botón tengo:
Private Sub Seleccionar_Click()
Dim Vitem As Variant, selecc As String
selecc = ""
For Each Vitem In Me.Texto1.ItemsSelected
selecc = selecc & "," & Me.Texto1.ItemData(Vitem)
Next
selecc = Right(selecc, Len(selecc) - 1) ' Así quitamos la primera coma
Me.Texto2.RowSource = "Calles.[Código calle], Calles.[Denominación calle] FROM Calles WHERE (((Calles.[Código calle]) In (" & selecc & "))); "
Me.Texto2.Requery
End Sub
tengo un formulario llamado Busq1 con lo siguiente: Un cuadro combinado llamado txtMunicipio, dos cuadros de selección múltiple llamados Texto1 y Texto2 respectivamente y un botón llamado Seleccionar.
Despliego txtMunicipio, selecciono un municipio y Texto1 me muestra las calles de dicho municipio. Lo que necesito es que al colocarme sobre una calle y darle al botón Seleccionar la calle aparezca en el cuadro Texto2, y así tantas veces como quiera (ir bajando en el listado de calles e ir seleccionando las que me interesen). O sea, como cuando creas un formulario con el asistente y seleccionas los campos que quieres meter.
He intentado hacerlo pero no me funciona. Abajo os pongo como lo he hecho. Alguien puede ayudarme y decirme qué estoy haciendo mal? muchas gracias!
En el origen de fila de Texto1 tengo:
SELECT Calles.[Código calle], Captaciones.[Denominación calle] FROM Calles WHERE (((Calles.[Municipio])=Formularios!Busq1!txtMunicipio));
En el origen de fila de Texto2 tengo:
SELECT Calles.[Código calle], Calles.[Denominación calle] FROM Calles WHERE (((Calles.[Código calle]) In (" & selecc & ")));
Y en el botón tengo:
Private Sub Seleccionar_Click()
Dim Vitem As Variant, selecc As String
selecc = ""
For Each Vitem In Me.Texto1.ItemsSelected
selecc = selecc & "," & Me.Texto1.ItemData(Vitem)
Next
selecc = Right(selecc, Len(selecc) - 1) ' Así quitamos la primera coma
Me.Texto2.RowSource = "Calles.[Código calle], Calles.[Denominación calle] FROM Calles WHERE (((Calles.[Código calle]) In (" & selecc & "))); "
Me.Texto2.Requery
End Sub
Valora esta pregunta


0