vez valores una selección rellenar otro múltiple lista introducido hacer desplegable dependiente cuadro como combinado campo automáticamente ms-access schema drop-down-menu

ms-access - una - lista de valores en access 2010



¿Hay una forma simple de rellenar el menú desplegable en este esquema de base de datos de Access? (1)

Tengo 3 tablas que se ven así:

Location Node Sektor ----- ------- ------- PK: ID - Autonumber PK: ID - Autonumber PK: ID - Autonumber Name NodeName Sektor Height Aksess Frequency Latitude Tag Coverage Longtitude IP

Cada ubicación está conectada con múltiples nodos que están conectados con múltiples sektors.

Ahora la parte interesante. En Microsoft Access, puede crear esquemas que permitan a los usuarios agregar datos fácilmente. Tengo la mesa final como esta, y quiero usar mi esquema para insertar datos en:

Customers ------- PK: CustID Name Subscribtion Sektor

Aquí es donde quiero que se haga la magia. Quiero que el usuario pueda seleccionar primero una ubicación, luego se le presentan los nodos disponibles (preferiblemente en el menú desplegable) y finalmente puede elegir el servidor correcto para el cliente que está agregando.

Alguien sabe una manera bastante fácil de hacer esto? Empecé a hacer una macro para esto, pero mi memoria de macros es realmente mala atm, y no tengo la literatura correcta conmigo atm para buscarla.

Cualquier ayuda appriciated =)


De hecho, es una muy mala idea nombrar cualquier nombre.

Me parece que necesitas cuadros combinados en cascada. Necesitarás un poco de VBA.

Dos cuadros combinados llamados, por ejemplo, cboLocation y cboNodes, en un formulario llamado, por ejemplo, frmForm

cboUbicación

RowSource: SELECT ID, [Name] FROM Locations ORDER BY [Name] ColumnCount: 2 ColumnWidths: 0;2.00cm ''''The second column can be any suitable width LimitToList: Yes

Eventos:

Private Sub cboLocation_AfterUpdate() Me.cboNode.Requery End Sub

CboNode

RowSource: SELECT ID, NodeName FROM Nodes WHERE IP=[Forms]![frmForm]![cboLocation] ORDER BY NodeName ColumnCount: 2 ColumnWidths: 0;2.00 ''''Ditto LimitToList: Yes

Eventos:

Private Sub cboNode_GotFocus() If Trim(Me.cboLocation & "") = vbNullString Then MsgBox "Please select location" Me.cboLOcation.SetFocus End If End Sub

También necesitarás un evento de formulario:

Private Sub Form_Current() Me.cboNode.Requery End Sub