我在Access VBA中有一个当前的INSERT INTO函数,如下所示:
INSERT INTO tblTest
SELECT tblCountry_Language.Language ID
FROM tblCountry_Language
INNER JOIN tblTerritory_Country
ON tblCountry_Language.Territory_CountryID = tblTerritory_Country.Territory_CountryID
WHERE tblTerritory_Country.TerritoryID = "& [Forms]![frmInput].[Form]![TerritoryID]&";"
按预期工作;它基本上从tblCountry_Language
中获取与用户表单的区域规范匹配的列出语言。
注意:tblCountry_Language
具有唯一ID Country_LanguageID
以及字段Territory_CountryID
和LanguageID
。 tblTerritory_Country
只是一对多表格,详细列出了属于每个地区的所有国家/地区。
问题:
对于新功能,我现在想要从CountryID
引入关联的 tblTerritory_Country
,其中每个LanguageID
都与{tblCountry_Language
配对1}}
逻辑看起来如下:
a)LanguageID
从Territory_CountryID
指示tblCountry_Language
,
b)我可以根据已连接的CountryID
Territory_CountryID
Territory_CountryID
如何使INSERT INTO语句插入 LanguageID
和CountryID
?
=================================编辑#1 =========== =====================
这是表格的可视化:
tblTerritory_Country
Territory_CountryID -----TerritoryID ----- CountryID
| |
tblCountry_Language
Country_LanguageID ----- Territory_CountryID ----- LanguageID
| |
tblTest
TestID ----- LanguageID ----- CountryID -----.....(More Irrelevant IDS)
| | | ............
我想在当前的INSERT INTO语句中添加一些内容,将匹配的Country_ID
三角化为内连接中使用的Territory_CountryID
,并使用该ID从tblTerritory_Country
中获取CountryID然后将其插入tblTest
。
答案 0 :(得分:0)
只需指定字段。
INSERT INTO tblTest (LanguageID, CountryID)
SELECT tblCountry_Language.LanguageID, tblTerritory_Country.CountryID
FROM tblCountry_Language
INNER JOIN tblTerritory_Country ON tblCountry_Language.Territory_CountryID = tblTerritory_Country.Territory_CountryID
WHERE tblTerritory_Country.TerritoryID = "& [Forms]![frmInput].[Form]![TerritoryID]&";"