listas despejables en access

monike
21 de Mayo del 2004
me puedes decir como relacionar una lista con otra.

mando la estructura de mi base de datos en access

tabla1
id (clave primaria)
nombre
direccion
fecha

tabla2
id
numero
partida
descripcion
cantidad

tengo una relacion de uno a varios (id de la tabla1 con id de la
tabla2)
para poder crear un formulario con subformulario

el campo partida es una lista despejable, al igual que descripcion,
esto con el fin de que yo escoga un nuero de la lista despejable de partida, y que en el campo descripcion me aparescan en la lista despejable las descripciones correspondientes a dicah partida.

por ejemplo
partida descripcion
1 mesa
1 silla
1 lapiz
2 goma
2 borrador


en el campo partida deben aparecerme en la lista los numero 1 y 2 y si yo escogo el 1, entonces en la lista despejable de descripcion debe
aparecerme mesa, silla y lapiz unicamente. si escogo el 2 entonces en la lista despejable de descripcion debe aparecerme goma y borrador unicamente

estos son los pasos que segui:

1-necesite crear una tabla mas llamada (tDetalles) con estos 2 campos: partida y descripción, Tendrá varios proyectos y varias descripciones por cada proyecto.
2-dibuje dentro del subformulario 2 cuadros de lista (por cierto el subformulario esta en forma de cuadricula)
3-al dibujar el primer cuadro se activa el Asistente. Las opciones son:
escribir los valores que desee, nro col 1, almacenar el valor en el campo y elegir el campo partida en la tabla. Aceptar
4-en las propiedades del cuadro creado, active la pestaña Todas y busque:
a) Origen de la fila: ingresá todos los nros de partida (sin repetir) y separados por punto y coma
b) Al hacer clic, elegí Procedimiento, clic en el botón de puntitos y copie la rutina que agregué al final.
5-inserte el segundo cuadro de lista. Las opciones para el Asistente
son:
quiero que el cuadro busque los valores en 1 tabla, elegí la tabla
(tDetalles), en la siguiente seleccione primero el campo descripción
(>) y
luego partida (>). En la siguiente ajuste el ancho de col, en la siguiente deje seleccionado el primer campo como disponible, en la siguiente
Almacenar el valor en el campo y elegí descripción.


Listo. Es lo mismo si utilizo cuadros combinados o de lista. Los primeros te muestran una flecha para abrir la lista y los segundos no.
La rutina para agregar en el pto 4b, es esta:

Private Sub Lista0_Click() 'el nombre es el del cuadro '
Dim midetalle As String
If Lista0.Value <> "" Then
midetalle = "SELECT descripcion from tDetalles where partida= "
midetalle = midetalle & Lista0.Value & ""
Lista2.RowSource = midetalle
End If
End Sub

pero con esto solo he logrado que me aparescan todos los datos de descripcion sin importas si escogo 1 o 2, creo que tengo el error en el
codigo, pero no se porque en que esta el error ojala me puedieras
ayudar.

gracias y espero que me entiestas

por cierto no se ingresar los datos ala tabla tdetalles, en el momento en que la cree

mil gracias

monikque
21 de Mayo del 2004
alguien sabe esto