具有主键的动态联合查询

时间:2019-06-19 23:56:58

标签: sql vba ms-access access-vba

我有一个联合查询,该查询是对覆盖各种项目类型的一组表的动态引用。我想创建一个链接表(通过查询),该表将具有手动输入,将使用联合查询作为贡献参考列表。当然,现在如果没有主键,记录集将无法更新。我希望联合查询保留项目的动态列表,但没有链接辅助表的主键,就没有更新的机会,即不允许在第二个表上输入数据。

它可以与静态创建的表(即由联合会生成的表)一起使用,但是会很干净,仅通过保持活动状态就可以简化我的OCD,我认为参数管理总是更好。

联合查询当然很简单...剪切主键可以在这里分配吗? ProdID在所有表中都是唯一的。目前Cat_Code和Item_Code是支持表中的复合主键

SELECT DataSheet_Products_NBC.Cat_Family, DataSheet_Products_NBC.Cat_Code, DataSheet_Products_NBC.Cat_Name, DataSheet_Products_NBC.ProdID, DataSheet_Products_NBC.Item_Code, DataSheet_Products_NBC.Item_Desc, DataSheet_Products_NBC.Unit
FROM DataSheet_Products_NBC
UNION 
SELECT DataSheet_Estimating_Statistics.Cat_Family, DataSheet_Estimating_Statistics.Cat_Code, DataSheet_Estimating_Statistics.Cat_Name, DataSheet_Estimating_Statistics.ProdID, DataSheet_Estimating_Statistics.Item_Code, DataSheet_Estimating_Statistics.Item_Desc, DataSheet_Estimating_Statistics.Unit
FROM DataSheet_Estimating_Statistics
UNION SELECT  DataSheet_Products_Other.Cat_Family, DataSheet_Products_Other.Cat_Code, DataSheet_Products_Other.Cat_Name, DataSheet_Products_Other.ProdID, DataSheet_Products_Other.Item_Code, DataSheet_Products_Other.Item_Desc, DataSheet_Products_Other.Unit
FROM DataSheet_Products_Other;

我需要结束一个查询,该查询包含联合查询,主键和一个可以接受数据(即可更新)的数据表。

fDatasheet view

Design

1 个答案:

答案 0 :(得分:1)

您不能直接在UNION查询中插入新行
因此,您将在子窗体上显示UNION
然后将文本控件放在下面以输入新行
表名称,Cat_Family,Cat_Code,Cat_Name,ProdID,Item_Code,Item_Desc,单位
添加按钮以插入新行
重新查询子窗体以查看它