访问:搜索多个 Table 和 Return 个唯一客户表单

Access: Search Multiple Table and Return Unique Customer Form

我是一个完全的数据库菜鸟,但我设法为我经营一家保险机构的朋友设计了一个数据库。我快完成了,但我只需要能够输入搜索字段。

基本上,我有一个客户表格,其中包含所有客户的联系方式,然后是子表格,显示不同类型的保险单(汽车、家庭、医疗等)客户表格 links 给客户 table,子表格 link 到 tables(汽车、家庭、医疗等,每个子表格一个 table)所有 table 都是 link通过字段 CustID

我需要做的是在每个子表单中搜索唯一的保单编号,然后 return 与该保单编号相关的客户表单。或释义;在所有 table 中搜索保单编号(汽车、家庭、医疗等),找到 CustID,然后调出与该 CustID 相关的客户表格。

任何帮助将不胜感激,因为我花了几天时间在网上搜索尝试查询和联合查询,但没有找到任何可以调出表格的回复。我显然遗漏了一些东西

我有一个菜单表单(总机),我想在其中 运行 从这里进行的搜索按字母顺序排序 table 显示所有客户,我添加了一个按钮,允许我select 任何一位客户并显示客户记录表。

客户记录表显示所有客户详细信息,包括显示他已购买的任何保单的选项卡式子表格。

我附上了这两种形式的屏幕截图。表格上的所有内容都完美无缺,除了政策编号。在菜单表格上查找:当我输入有效的政策编号时,它 return 是一个新的(空白)客户记录表格,而不是拥有该政策编号的客户记录。

我写了以下查询,return 正确的结果:

查询 1: SELECT Customer_Details.CustID, Motor.Policy_Quote_No 从 Customer_Details 右连接电机开 Customer_Details.CustID = Motor.CustID 联盟 SELECT Customer_Details.CustID, Home.Policy_Quote_No 来自 Customer_Details 在 Customer_Details.CustID = Home.CustID 上正确加入首页 联盟 SELECT Customer_Details.CustID, Liability.Policy_Quote_No FROM Customer_Details RIGHT JOIN Liability ON Customer_Details.CustID = Liability.CustID 联盟 SELECT Customer_Details.CustID, Marine.Policy_Quote_No 从 Customer_Details 右加入海军 Customer_Details.CustID = Marine.CustID 联盟 SELECT Customer_Details.CustID, Medical.Policy_Quote_No 来自 Customer_Details 在 Customer_Details.CustID 上右加入医疗 = Medical.CustID 联合 SELECT Customer_Details.CustID, Pet.Policy_Quote_No 来自 Customer_Details 右加入宠物 Customer_Details.CustID = Pet.CustID;

查询 2: SELECT Customer_Details.CustID, UnionQueryPolicyNo.Policy_Quote_No FROM UnionQueryPolicyNo INNER JOIN Customer_Details ON UnionQueryPolicyNo.CustID=Customer_Details.CustID WHERE (((UnionQueryPolicyNo.Policy_Quote_No)=[Forms]![Menu]![Text8]));

所以我认为这只是按钮的代码,目前我有一个宏:

操作:打开表单 表格名称:CustomerBase 查看:表单 其中:[PolicyLookuponUnionQuery]![CustID]=[Customer_Details]![CustID]

CustomerBase Form

Menu Form (Switchboard)

希望我能更好地解释这一点,感谢您的帮助。

谢谢Wayne的帮忙,最后我一直在摸索整理。

我想报告我所做的事情。我在下面展示了我的所有步骤,你永远不知道这可能对其他用户有帮助:

我创建了一个联合查询,从我的不同保单表中调用了所有保单号:

SELECT Customer_Details.CustID, Motor.Policy_Quote_No 从 Customer_Details 右连接电机开 Customer_Details.CustID = Motor.CustID 联盟 SELECT Customer_Details.CustID, Home.Policy_Quote_No 来自 Customer_Details 在 Customer_Details.CustID 上正确加入主页 = Home.CustID 联盟 SELECT Customer_Details.CustID, Liability.Policy_Quote_No FROM Customer_Details RIGHT JOIN Liability ON Customer_Details.CustID = Liability.CustID 联盟 SELECT Customer_Details.CustID, Marine.Policy_Quote_No 从 Customer_Details 右加入海军 Customer_Details.CustID = Marine.CustID 联盟 SELECT Customer_Details.CustID, Medical.Policy_Quote_No 来自 Customer_Details 在 Customer_Details.CustID 上右加入医疗 = Medical.CustID 联合 SELECT Customer_Details.CustID, Pet.Policy_Quote_No 从 Customer_Details 右加入宠物 Customer_Details.CustID = Pet.CustID;

我制作了一个组合框 (Combo41),源是我的联合查询 (UnionQueryPolicyNo) 调整列数和列宽0cm隐藏Customer ID列

然后创建了一个"Select Policy No."按钮 使用以下 "On Click" 事件代码:

私人订阅 Command43_Click() 出错 GoTo Err_Command43_Click 将 stDocName 调暗为字符串 将 stLinkCriteria 调暗为字符串 stDocName = "CustomerBase" stLinkCriteria = "[CustID]=" & 我![Combo41] DoCmd.OpenForm stDocName,stLinkCriteria 退出_Command43_Click: 退出子 错误_Command43_Click: 消息框 Err.Description 恢复退出_Command43_Click 结束子

现在我可以在组合框中输入保单编号并单击 Select 保单编号按钮,它会显示与该保单编号相关的客户表格。耶!!

为了方便您查看代码的布局,我附上了裁剪后的屏幕截图。

UnionQueryPolicyNo

Select Policy No. Button Event Code