背景资料:我有两张表。一个是客户端列表和一些基本客户端属性(tblClient)。第二个有一个产品列表。每个客户端可以有多个产品,所以我在这里有一个一对多的关系,其中主键(客户端名称)是product表中的外键。
我想做的是:我想创建两个表单。主窗体将具有客户端的快照和一个小的嵌套表,以提供所有产品的摘要。这个我已经成功地完成了。我还制作了第二个表单,可以在其中输入与产品相关的所有详细信息(匹配products数据表)。我想做的是在主客户窗体上有一个按钮,当点击时打开产品窗体只为客户当前使用的产品。如果没有产品,它将打开一个空白表单,其中包含一些预先填写的信息(即客户名称)。例如,如果我正在查看客户John Doe,而他当前拥有产品A、B和C,我希望单击一个按钮来显示特定于John Doe的产品详细信息。如果他没有产品,我想访问打开一个新的入口产品表单,我已经填写了无名氏的名字,以避免混淆。
我是一个非常新的访问,任何帮助将非常感谢。
谢谢,Z
发布于 2014-11-07 23:29:02
我假设你的第二张表格是链接到一个表格上的?如果是这样,只需在打开记录集时对其进行筛选。
例如,按钮的OnClick事件将查看当前的ClientID并根据该ClientID打开表单。
Dim stDocName As String
Dim stOpenArg As String
'Make stDocName the name of the form you're going to open
stDocName = "frmAssignProject"
'Make stOpenArg your variable to filter on
stOpenArg = Me.ClientID
DoCmd.OpenForm stDocName, , , , , , stOpenArg然后,在第二个表单的OnLoad事件中,根据您的OpenArg进行过滤:
private sub form_load()
Dim rs as DAO.Recordset
Me.RecordSource = "Select * From tblProducts Where ClientID = " & OpenArgs & ""
Set rs = Me.RecordsetClone
'This is where it determines if it should pull in the data from the previous form
If rs.RecordCount > 0 Then
else
Me.ClientID = Forms!frmClients.ClientID
Me.ClientName = Forms!frmClients.ClientName
etc...
end if
end sub 以上完全是“航空代码”,它可能需要一些调整,但概念是合理的。
https://stackoverflow.com/questions/26789782
复制相似问题