Chr*_*ale 4 schema ms-access drop-down-menu
我有3个表,看起来像这样:
Location Node Sektor
----- ------- -------
PK: ID - Autonumber PK: ID - Autonumber PK: ID - Autonumber
Name NodeName Sektor
Height Aksess Frequency
Latitude Tag Coverage
Longtitude IP
Run Code Online (Sandbox Code Playgroud)
每个位置都与多个节点连接,这些节点与多个sektors连接.
现在有趣的部分.在Microsoft Access中,您可以创建允许用户轻松添加数据的模式.我的最终表看起来像这样我想用我的模式将数据插入到:
Customers
-------
PK: CustID
Name
Subscribtion
Sektor
Run Code Online (Sandbox Code Playgroud)
这就是我想要完成魔术的地方.我希望用户能够首先选择一个位置,然后呈现可用节点(最好是下拉列表),最后他可以为他添加的客户选择正确的sektor.
有人知道一个相当简单的方法吗?我开始为此制作一个宏,但我对宏的记忆真的很糟糕,而且我没有正确的文献和我一起去查找它.
任何帮助appriciated =)
确实命名任何名字都是一个非常糟糕的主意.
在我看来,你需要级联组合框.你需要一点VBA.
两个组合框称为cboLocation和cboNodes,在一个名为frmForm的forrm上
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
Run Code Online (Sandbox Code Playgroud)
事件:
Private Sub cboLocation_AfterUpdate()
Me.cboNode.Requery
End Sub
Run Code Online (Sandbox Code Playgroud)
CboNode
RowSource: SELECT ID, NodeName
FROM Nodes
WHERE IP=[Forms]![frmForm]![cboLocation]
ORDER BY NodeName
ColumnCount: 2
ColumnWidths: 0;2.00 ''Ditto
LimitToList: Yes
Run Code Online (Sandbox Code Playgroud)
事件:
Private Sub cboNode_GotFocus()
If Trim(Me.cboLocation & "") = vbNullString Then
MsgBox "Please select location"
Me.cboLOcation.SetFocus
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
您还需要一个表单事件:
Private Sub Form_Current()
Me.cboNode.Requery
End Sub
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3774 次 |
最近记录: |