Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 有没有办法绕过“多值字段'[Table X].[field Y]'在具有内部联接的指定联接子句中无效”的问题?_Sql_Ms Access_Ms Access 2007 - Fatal编程技术网

Sql 有没有办法绕过“多值字段'[Table X].[field Y]'在具有内部联接的指定联接子句中无效”的问题?

Sql 有没有办法绕过“多值字段'[Table X].[field Y]'在具有内部联接的指定联接子句中无效”的问题?,sql,ms-access,ms-access-2007,Sql,Ms Access,Ms Access 2007,当我试图在我正在使用的字段的行源中应用以下SELECT语句时,我遇到了一个错误 SELECT [Poems].[ID], [Poems].[Title], [Poems].[Year Completed], [Poem Types].[Poem Type], [Poems].[Blog Location] FROM Poems INNER JOIN [Poem Types] ON [Poems].[Poem Type]=[Poem Types].[ID] OR

当我试图在我正在使用的字段的行源中应用以下SELECT语句时,我遇到了一个错误

SELECT [Poems].[ID],
   [Poems].[Title],
   [Poems].[Year Completed],
   [Poem Types].[Poem Type],
   [Poems].[Blog Location]
FROM Poems 
INNER JOIN [Poem Types] 
   ON [Poems].[Poem Type]=[Poem Types].[ID] 
ORDER BY [Title];
错误是:

多值字段“[Poems].[Poems Type]”在指定的字段中无效 Join子句

表[诗歌类型]是在我知道如何创建值列表之前创建的。但是,实际上我现在对它有点满意,因为我最终对列表做了一些更改,它自动更新了使用该表的所有记录,如果我必须对值列表做同样的操作,我必须逐个检查并更新记录,或者使用查找和替换。因此,小键表实际上很有用

如错误所示,[Poems]中引用该表的字段是多值字段。然而,我无法从逻辑上理解这意味着什么,因为它应该只列出现有的值,即使存在多个值。没问题。我已经通过使用非多值字段来确认语法是正确的,并观察列表框很好地填充了正确的值

所以,我的问题是。这一限制是否有我可以利用的想象力?例如,整个Poems表中只有几个条目在此字段中使用了多个值。我只允许使用多个值,因为在极少数情况下,一首由多部分组成的诗包含多种类型的诗。例如,如果它是必要的,并且Access允许,那么我可以过滤掉那些包含多个值的条目吗?或者也许还有别的办法


任何协助都将不胜感激

长话短说,当查询以某种方式指向存储在该字段中的特定值时,需要使用[Table].[MultiValuedField].值语法。详细解释了它将产生的差异。

您不需要编写[Poems].[Poems Type]。而是在联接条件中写入值吗?是否可以包含表定义?太棒了。你为什么不把它作为答案贴出来,这样我就可以给你一个向上的箭头,然后选择它作为答案,这样你就可以得到一些声誉积分?这不是说你需要声誉,raina77ow:我只是看看你和他们在一起有多兴奋。不过,如果能为其他提出同样问题的人提供一个正式的答案,那就太好了。好吧,我只是把这条建议作为一个答案,以及一个有用的链接。谢谢你,先生。顺便问一下,如果我只想从多值字段的值列表中获取第一项,有没有办法做到这一点?类似于[Table].[MultiValuedField].Value0的内容?我在你链接到的页面上查找了类似的内容,但没有看到。我想我应该把它交给你,以防万一再次感谢。对我来说,这是一个非常陡峭的学习曲线,但出于某种原因,我真的很喜欢这个数据库的东西。@扎哈尔,我不认为把多值字段的个人价值放在一个简单的任务上。请看,多值字段实际上是用于表示“n:m”关系的表上的抽象。事实证明,我想要实现的是使用WHERE EXISTS子句=False。非常棒的东西。我甚至还设计了一个小表单,让我从Publication Victories表中选择一份期刊,然后点击enter键,这样会打开一个查询,显示所有可供提交且可通过的诗歌,同时排除以前提交给所选期刊的列表。然后,这只是一个向下移动的名单,并决定哪些诗歌选择新提交的问题。我对Access 2007了解得越多,对它的印象就越深刻。