Cuadros Combinados en access URGENTE!

Hola buen día! ¿Qué tal? ¡
Mi duda es la siguiente! Como hago para vincular 3 cuadros combinados de la siguiente manera!...
Modelo de Equipo (Cuadro Combinado 1)
Tipo de Pieza (Cuadro Combinado 2)
Modelo de Pieza (Cuadro Combinado 3)
La cuestión es la siguiente, cuando seleccione una opción en el Cuadro Combinado 1 se habilite el Cuadro Combinado 2 y cuando haga una selección de dicho cuadro se habilite el cuadro combinado 3
Ej: Supongamos que trabajamos con PLC's...
El modelo del equipo seria el nombre del PLC
el tipo de pieza serian los módulos del plc
y el modelo de pieza el numero de dichos módulos...
Si fuera el caso de Allen Bradley
Modelo de PLC: SLC 500
Tipo de Pieza: Modulo de Comunicación, Alimentación.
Modelo de Pieza: el numero de parte!... Pero si selecciono modulo de comunicación que solo me salga el numero de partes asociados con los de comunicación...
Respuesta
1
Bueno existen diferentes métodos para hacer esto.
Para cualquier método debes hacer que lo que quieras mostrar en el cuadro combinado este relacionado por un campo (normalmente un ID con el que seleccionas). Es decir en tu ejemplo al nombre PCL Si su ID =1 tienes que asignarles las piezas con ese mismo ID.
De forma que podamos hacer una búsqueda con ese ID en la tabla que contenga las piezas.
Una vez cumplido esto, en el evento "Después de actualizar" del cuadro combinado1, en la vista de código, buscaremos los registros relacionados de la siguiente forma(Emplearemos ADO):
'Pega el código cambiando los nombres de los campos por los tuyos.
Private Sub CuadroCombinado1_AfterUpdate()
Dim rs As ADODB.Recordset
Dim strSQL As String
If NombreCuadroCombinado1.Value > 0 Then
strSQL = "SELECT * FROM TablaPiezas WHERE ID = " & NombreCuadroCombinado1.Value
Set rs = CreateObject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open strSQL, CurrentProject.Connection
If rs.State = 1 Then
If Not rs.BOF Then
Me.ID = rs("ID")
Me.NombrePieza = rs("NombrePieza")
End If
rs.Close
End If
Set rs = Nothing
End If
Me.refresh
End Sub
------------------------
Esto hará que en el segundo cuadro combinado te aparezcan las piezas cuyo ID sea igual al del ID del PCL. Puede hacerse por nombre también pero es recomendable hacerlo mediante una relación mumérica.
Luego haz lo mismo para el segundocuadro combinado y ya está.
Exsten otras formas de hacerlo, pero esta es la que suelo utilizar...
Espero haberte servido de ayuda, Un saludo: Félix
Gracias! ¿ID es la clave principal no?...
¿Pero me puede decir cual es la otra forma de hacerlo? Porque he eliminado algunos regisros y no coincidirían numéricamente
ID es un campo numérico que Identifica numéricamente el registro. En tu caso no debe ser la clave principal, ya que debe haber varias piezas que tengan la misma ID ya que pertenecerán al mismo PLC.
En cuanto a otras formas de hacerlo todas hacen lo mismo pero con distinto método(DAO, Dlookup, Filtro..)
Para lo que tu creo que quieres puedes sustituir el ID por el nombre del campo con el nombre de la Pieza.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas