Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
Ms access 访问Web应用程序的字段名无效_Ms Access_Vba_Field_Where Clause_Ms Access 2013 - Fatal编程技术网

Ms access 访问Web应用程序的字段名无效

Ms access 访问Web应用程序的字段名无效,ms-access,vba,field,where-clause,ms-access-2013,Ms Access,Vba,Field,Where Clause,Ms Access 2013,我有一个Access Web应用程序,目前正在尝试为我的一个视图上的字段创建一个OnClick宏,以便在单击它时,它将弹出另一个特定记录的视图。目前,我的Where子句的内容是Where:[DistrictID]=[Districts].[DistrictID] 当我进入应用程序并单击带有宏的字段时,会出现一个弹出窗口,说明“无效的字段名'Districts.DistrictID' 我能找到的唯一一个提到此错误的站点是: 这个网站说这是由于Where条款的大小写敏感性。我的case与我的表/字段

我有一个Access Web应用程序,目前正在尝试为我的一个视图上的字段创建一个OnClick宏,以便在单击它时,它将弹出另一个特定记录的视图。目前,我的Where子句的内容是Where:[DistrictID]=[Districts].[DistrictID]

当我进入应用程序并单击带有宏的字段时,会出现一个弹出窗口,说明“无效的字段名'Districts.DistrictID'

我能找到的唯一一个提到此错误的站点是:

这个网站说这是由于Where条款的大小写敏感性。我的case与我的表/字段完全匹配(我用其他语言编程,所以我总是出于习惯匹配case)。无论如何,我已经检查了四次拼写,甚至将字段名复制粘贴到我的Where子句中。但我还是得到了错误

我有另一个视图,它与另一个工作正常的表/视图(其中:[ContactID]=[Contacts].[ContactID])做了类似的事情

有人知道为什么我的Where子句不起作用,或者我可能做错了什么吗

额外信息(如需要):

我会包括照片,但我数据库中的信息是敏感的,因此我会尽力描述相关信息:


数据库中有10个表。“地区”是我努力与之合作的对象。地区表有。。。相当多的字段,包括DistrictID、DistrictName、EmailService、SpecialComment等。但是,这四个字段是为包含宏的数据表视图查询的字段。OnClick宏是为SpecialComment字段触发的-单击时,我希望我的地区列表视图弹出到单击SpecialComment的同一地区(特殊评论有时会持续很长时间,因此,如果它被数据表的大小限制切断,我希望人们能够阅读其余信息,而无需切换到其他视图,然后在列表中找到该地区)。District列表视图和queried视图在视图中都有DistrictID字段,尽管它是隐藏的。我尝试在两个视图中取消隐藏该字段,但都没有解决问题-在此之前,我有其他使用DistrictID字段的Where子句工作正常,因此我怀疑它是否会改变任何内容。那些Where子句om之前被其他函数取代,因此我没有参考它们来了解为什么该函数有效而此函数无效。

如果您试图使用OpenPopup宏操作打开的视图有一个保存的查询作为其记录源,则必须使用如下查询名称:

[FieldNameHere]=[NameOfQueryHere]。[FieldNameInThatQuery]

如果使用的是表名,则在适当的位置替换实际的表名

需要注意的一点是,如果您试图打开的视图使用嵌入式查询作为其记录源,则此技术将不起作用。原因是您无法知道Access在幕后为Access 2013 web app视图创建的嵌入式查询名称。(它实际上是幕后的GUID名称。)

我甚至不得不在我的书中添加一个特别的故障排除说明,因为我知道人们会在这个问题上绊倒(第584页):

故障排除 当视图基于嵌入式查询时,为什么尝试将Where子句与OpenPopup或ChangeView操作一起使用时会出现错误?
Access Services要求Where子句包含视图所基于的表或查询名称。当您将嵌入式查询定义为视图的记录源时,Access Services会创建一个在导航窗格中不可见的隐藏系统查询。因此,您不能将Where子句与OpenPopup操作或ChangeView操作一起使用打开基于嵌入查询的视图。若要解决此限制,您可以将视图基于已保存的查询对象。请注意,Access Services会创建一个隐藏的系统查询,作为摘要视图的记录源。这意味着您不能使用Where子句参数打开特定记录或记录集的摘要视图。Howe无论如何,上面提到的解决方法对摘要视图不起作用。

Hi,对于您试图使用OpenPopup宏操作打开的视图,该视图的记录源是表、保存的查询名称还是嵌入的查询对象?请仔细检查,然后让我知道实际的记录源。它是一个保存的查询,用于选择这4个字段ned。其中一个标准是针对电子邮件服务的,并且与我们提供的服务之一相匹配-该视图只是我们提供特定类型电子邮件的所有地区的数据表。如果您试图打开的视图基于查询,则必须使用如下语法:[FieldNameHere]=[NameOfQueryHere]。[FieldNameInThatQuery]所以对你来说,那将是:[ContactID]=[NameOfQueryHere].[ContactID]哎呀,我想我第一次读错了你的帖子-我试图打开的视图不是基于一个保存的查询,它是一个嵌入式的-我可以在理论上保存它,如果这不起作用的话。杰夫,我确实为这个视图保存了自己的查询(可能应该在一段时间前保存,这是我所有内容的主要视图!)并将Where子句更改为[QueryName]。[DistrictID]并且成功了!!!非常感谢!请随时将您的回复作为答案写出来,我将选择它作为答案。:)