Sql 具有主键的动态联合查询

Sql 具有主键的动态联合查询,sql,vba,ms-access,Sql,Vba,Ms Access,我有一个union查询,它是对一组表的动态引用,这些表包含各种类型的项。我想创建一个链接表(通过查询),该表将具有手动输入,该输入将使用union查询作为贡献引用列表。当然,如果没有主键,记录集将不可更新。我希望union查询保持动态的项目列表,但如果没有主键链接辅助表,就不可能更新ie,从而允许在第二个表上输入数据 它与工会生成的静态创建的表ie一起工作,但是会很好,很干净,我的OCD会通过简单地保持它的活动而得到缓解,我认为参数化管理总是更好的 联合查询当然很简单…这里可以分配主键吗?Pro

我有一个union查询,它是对一组表的动态引用,这些表包含各种类型的项。我想创建一个链接表(通过查询),该表将具有手动输入,该输入将使用union查询作为贡献引用列表。当然,如果没有主键,记录集将不可更新。我希望union查询保持动态的项目列表,但如果没有主键链接辅助表,就不可能更新ie,从而允许在第二个表上输入数据

它与工会生成的静态创建的表ie一起工作,但是会很好,很干净,我的OCD会通过简单地保持它的活动而得到缓解,我认为参数化管理总是更好的

联合查询当然很简单…这里可以分配主键吗?ProdID在所有表中都是唯一的。目前,Cat_代码和Item_代码是支持表中的复合主键

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;
我需要以一个包含union查询的查询结束,该查询具有主键和一个可以接受数据的数据表,即可更新的数据表


您不能将新行直接插入联合查询
因此,您将在子窗体上显示联合
然后在下面放置文本控件以输入新行
表名,类别系列,类别代码,类别名称,产品ID,项目代码,项目描述,单位
添加按钮以插入新行

重新查询子窗体以查看它

在不可更新的数据集中的查询结果中包含联合查询。句号,嗯。好啊我仍然想知道如何动态地为联合查询分配一个键。alter table或某些命令可以在创建联合查询时创建键吗?因为它是一个虚拟对象,所以我可以想一想,如果不能在联合查询中分配PK,还有什么可能。我不明白你为什么要这么做。仍然可以在另一个查询中使用UNION,并在公共ProdID字段上使用join。ProdID在UNION中是FK,它将连接到另一个表中的PK。可以将该联合用作插入到另一个表或生成表的源。很酷,感谢您提供的信息…这就是我使用该联合的方式,但当我深入查看(在access中)时,它对未更新的主要抱怨是,如果没有PK join,链接表无法更新。最后我只是运行INSERT和add columns来重置表,工作正常,但现在它的静态ie没有动态链接,因为我更新了工会成员等。Cheesthanks Siyon。不确定我是否清楚:用户在任何时候都不会输入任何Cat_系列等:它们是只读动态列表。我想做的是让用户填写Obj_GlobID、Storey等相关表格。AC_BOQ_AddDel表格在开始时完全为空。