Access - multiples selecciones en listbox

 
Vista:
sin imagen de perfil

multiples selecciones en listbox

Publicado por Emilio (4 intervenciones) el 11/12/2007 15:54:44
Hola,
quiero hacer varias selecciones dentro de un listbox, este es el codigo que tengo. primeramente cargo los valores de una tabla auxiliar y acto seguido hago la consulta. Como puedo definir bien la consulta (que esta comentada) y el recordset? no se si me he explicado bien. Tampoco puedo ponerlo de esa manera pq los valores pueden cambiar y podrian ser N (" & num1 & "," & num2 & "," & num3 & "," & num4 & ").

Private Sub sector1_Click()
Dim pMxdoc As IMxDocument
Set pMxdoc = Application.Document
Dim basededatos As Database
Dim st As String
Dim num As Integer
Dim rs As DAO.RecordSet


num = ListSect.ListIndex
Set basededatos = Workspaces(0).OpenDatabase("C:SIFIempresas2000.mdb", False)

st = "select aux_sector.* from aux_sector"

Set rs = basededatos.OpenRecordset(st)
rs.Move (num)
num = rs("cod_sector")

st = "DELETE SECTORES.* FROM SECTORES"

basededatos.Execute (st)

st = "INSERT INTO SECTORES ( COD_MUN, Num, [cod_sector] ) " & _
"SELECT EMPRESAS.COD_MUN, Count(EMPRESAS.Empresa) AS Num, EMPRESAS.[cod_sector] " & _
"FROM EMPRESAS GROUP BY EMPRESAS.COD_MUN, EMPRESAS.[cod_sector] " & _
"HAVING (((EMPRESAS.[cod_sector]) = " & num & ")) ORDER BY EMPRESAS.COD_MUN"

'st = "INSERT INTO SECTORES ( COD_MUN, Num, [cod_sector] ) " & _
' "SELECT EMPRESAS.COD_MUN, Count(EMPRESAS.Empresa) AS Num, EMPRESAS.[cod_sector] " & _
' "FROM EMPRESAS GROUP BY EMPRESAS.COD_MUN, EMPRESAS.[cod_sector] " & _
' "HAVING (((EMPRESAS.[cod_sector]) IN (" & num1 & "," & num2 & "," & num3 & "," & num4 & ")) ORDER BY EMPRESAS.COD_MUN"

basededatos.Execute (st)

MsgBox st
pMxdoc.ActiveView.Refresh
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:multiples selecciones en listbox

Publicado por JOSELO (8 intervenciones) el 11/12/2007 17:05:40
Bueno, aver si te puedo ayudar.

- Tomás en la variable el número de sector. Que lo tomas de la lista de sectores
- Despues abris la tabla aux_sector
- A la misma variable le asignas el valor del campo
- Despues borrar los registros de la tabla sectores.
- Y lo ultimo no lo entiendo supongo que agregas registros en otro tabla.

Ahora, en el listbox cuales son los campos que utilizas y como queres que se muestren, dame ejemplos a ver si puedo ayudar.
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
sin imagen de perfil

RE:multiples selecciones en listbox

Publicado por Emilio (4 intervenciones) el 12/12/2007 09:00:08
Hola, primeramente gracias por contestar.
Relleno el listbox de una tabla auxiliar: la estructura es codigo de materia prima y nombre de materia prima, lo hago de esta manera por si añaden mas materias a la tabla que se cargen dinamicamente. Tengo otra tabla que es la que relleno cada vez que ejecuto la consulta de datos anexados, la borro y la relleno al ejecutar la consulta. Con un unico valor funciona perfectamente. El tema es que tendria que hacer consultas multiples con varios valores y rellenar la tabla con esos valores de ahi que ponga el :
"HAVING (((EMPRESAS_MATERIA_PRIMA.Codigo) IN (" & num1 & "," & num2 & "," & num3 & "," & num4 & "..." & numN & ")) ORDER BY EMPRESAS_MATERIA_PRIMA.COD_MUN, EMPRESAS_MATERIA_PRIMA.Codigo"

La tabla resultante tendria los campos cod_mun num codigo, aunque como despues tengo que hacer una relacion uno a uno seguramente la tabla no deberia de representar el campo codigo para que no se repita el valor de cod_mun.

Mi consulta es como definir ese IN con el array y como definir el array para poder rellenarlo con varios valores.
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:multiples selecciones en listbox

Publicado por JOselo (232 intervenciones) el 12/12/2007 15:14:09
Lamento mucho no poder ayudar, el uso de arrays excede mi conocimiento y ademas soy duro de comprender. Disculpas
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