Access - Selección multiple

 
Vista:

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
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:Selección multiple

Publicado por mi menda (1111 intervenciones) el 11/03/2009 02:47:17
Hola.
Veo que has adaptado el ejemplo de Chea. Fijate en esta línea:

Me.Texto2.RowSource = "Calles.[Código calle], Calles.[Denominación calle] FROM Calles WHERE (((Calles.[Código calle]) In (" & selecc & "))); "

Al principio te falta el SELECT

¿NO SERÁ UN ERROR DE SINTASIS?.

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:Selección multiple

Publicado por leidijaidu (27 intervenciones) el 13/03/2009 10:38:12
Hola mi menda, efectivamente he cogido el ejemplo de Chea.

He comprobado y si que me faltaba el SELECT, pero lo he puesto y sigue sin funcionar. Sabes que puede ser? o a lo mejor puedes decirme otra forma de conseguir lo que quiero... se muy poco de código, puedo adaptar lo que veo (a veces bien y a veces mal, como ahora), pero no soy capaz de crear el código yo misma.

Muchas gracias por tu ayuda
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:Selección multiple

Publicado por mi menda (1111 intervenciones) el 13/03/2009 20:02:15
Hola:
Deberias nombrar los controles de otra forma, se hace dificil leer el código, sí txtMunicipio es un cuadro combinado, llamalo cboMunicipio o cmbMunicipio, así cualquiera sabe el tipo de control que es, de la misma forma los cuadros de lista, sí no quieres ponerle un nombre como lstCalles y lstCallesSeleccionadas, por lo menos nombralos como Lista1 y Lista2.
Dicho esto, creo que el error esta en la construcción de la sentencia SQL, ¿como tienes hechas las Tablas?. Veo qiue tienes en la tabla Calles el campo Denominación calle y en la tabla Captaciones tambíèn el mismo campo.
Bueno... a lo mejor me estoy liando yo solo, sí quieres me mandas el ejemplo a mí correo (en zip), quizas tardemos menos.

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