猿问

有没有一种简单的方法可以在此Access数据库模式中填充下拉列表?

我有3张桌子,看起来像这样:


Location                Node                 Sektor

-----                   -------              -------

PK: ID - Autonumber     PK: ID - Autonumber  PK: ID - Autonumber

Name                    NodeName             Sektor

Height                  Aksess               Frequency

Latitude                Tag                  Coverage

Longtitude              IP

每个位置都与多个节点相连,而这些节点又与多个侦听器相连。


现在有趣的部分。在Microsoft Access中,您可以创建允许用户轻松添加数据的架构。我的最终表如下所示,我想使用自己的架构将数据插入到其中:


Customers

-------

PK: CustID

Name

Subscribtion

Sektor

这是我想要完成魔术的地方。我希望用户能够首先选择一个位置,然后向其显示可用节点(最好是在下拉列表中),最后他可以为他添加的客户选择正确的选址器。


有人知道这样做很简单吗?我开始为此创建一个宏,但是我对宏的记忆确实是不好的atm,而且我没有与atm一起使用的正确文献来查找它。


寻求帮助=)


慕少森
浏览 463回答 1
1回答

绝地无双

命名任何名称确实是一个非常糟糕的主意。在我看来,您需要级联的组合框。您将需要一点VBA。在名为frmForm的形式上的两个组合框,例如cboLocation和cboNodescboLocationRowSource: SELECT ID, [Name]FROM LocationsORDER BY [Name]ColumnCount: 2ColumnWidths: 0;2.00cm  ''The second column can be any suitable widthLimitToList: Yes大事记:Private Sub cboLocation_AfterUpdate()    Me.cboNode.RequeryEnd SubCboNodeRowSource: SELECT ID, NodeNameFROM NodesWHERE IP=[Forms]![frmForm]![cboLocation]ORDER BY NodeNameColumnCount: 2ColumnWidths: 0;2.00 ''DittoLimitToList: Yes大事记:Private Sub cboNode_GotFocus()    If Trim(Me.cboLocation & "") = vbNullString Then        MsgBox "Please select location"        Me.cboLOcation.SetFocus    End IfEnd Sub您还将需要一个表单事件:Private Sub Form_Current()    Me.cboNode.RequeryEnd Sub
随时随地看视频慕课网APP
我要回答