为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕少森 2019-10-22 22:29:35
我有3张桌子,看起来像这样:Location                Node                 Sektor-----                   -------              -------PK: ID - Autonumber     PK: ID - Autonumber  PK: ID - AutonumberName                    NodeName             SektorHeight                  Aksess               FrequencyLatitude                Tag                  CoverageLongtitude              IP每个位置都与多个节点相连,而这些节点又与多个侦听器相连。现在有趣的部分。在Microsoft Access中,您可以创建允许用户轻松添加数据的架构。我的最终表如下所示,我想使用自己的架构将数据插入到其中:Customers-------PK: CustIDNameSubscribtionSektor这是我想要完成魔术的地方。我希望用户能够首先选择一个位置,然后向其显示可用节点(最好是在下拉列表中),最后他可以为他添加的客户选择正确的选址器。有人知道这样做很简单吗?我开始为此创建一个宏,但是我对宏的记忆确实是不好的atm,而且我没有与atm一起使用的正确文献来查找它。寻求帮助=)
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

命名任何名称确实是一个非常糟糕的主意。


在我看来,您需要级联的组合框。您将需要一点VBA。


在名为frmForm的形式上的两个组合框,例如cboLocation和cboNodes


cboLocation


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

大事记:


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

大事记:


Private Sub cboNode_GotFocus()

    If Trim(Me.cboLocation & "") = vbNullString Then

        MsgBox "Please select location"

        Me.cboLOcation.SetFocus

    End If

End Sub

您还将需要一个表单事件:


Private Sub Form_Current()

    Me.cboNode.Requery

End Sub


查看完整回答
反对 回复 2019-10-22
  • 1 回答
  • 0 关注
  • 462 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信