Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 根据相关的内容筛选表单_Ms Access - Fatal编程技术网

Ms access 根据相关的内容筛选表单

Ms access 根据相关的内容筛选表单,ms-access,Ms Access,我正在构建一个基于的搜索表单。表单的记录源是一个查询,该查询使用同一著名的Allen Browne。(顺便感谢他!) 每一行都包含记录(和往常一样),并且一些多对多关系被连接起来,所以记录总是在一行中,易于阅读和在报告中打印。看来这就是concatrelated的目的 一切都很好,即使当我不过滤一个相关字段时,速度不是那么快 如果在串联字段上使用过滤器,则运行速度非常慢(至少需要30秒) 过滤器看起来像这样: ([List themes] Like "*Age*") “列表主题”是一个从多对多

我正在构建一个基于的搜索表单。表单的记录源是一个查询,该查询使用同一著名的Allen Browne。(顺便感谢他!)

每一行都包含记录(和往常一样),并且一些多对多关系被连接起来,所以记录总是在一行中,易于阅读和在报告中打印。看来这就是concatrelated的目的

一切都很好,即使当我不过滤一个相关字段时,速度不是那么快

如果在串联字段上使用过滤器,则运行速度非常慢(至少需要30秒)

过滤器看起来像这样:

([List themes] Like "*Age*")
“列表主题”是一个从多对多关系连接起来的列表。“年龄”是主题名称之一。“年龄”可以是任何其他主题,从列表中选择

我大约有700排

问题是:我怎样才能加快这个过程?即使ConcatRelated是一个缓慢的函数,它也应该如此长吗?似乎每次我过滤一个相关字段时都会重新运行查询,这正常吗(我有时不知道access中的作用力;)?根据多对多关系,还有其他更有效的过滤方法吗

我正在考虑使用一个临时表,它包含作为文本的连接字段,然后进行连接。但有些事情告诉我有一个更简单的解决办法。。。你觉得怎么样


谢谢你的回答!(如果问题不够清楚,请告诉我,对不起,我的英语很差。)

您是否尝试过子查询或基于其他查询的查询?这两种方法中的任何一种都应该加快这一过程,但差别不大。ConcatenateRecord本身就是一个缓慢的函数。我知道Allen通常会指出,如果他们的代码会很慢,但是对于大约100条记录来说,这应该是可以的,但是对于大量数据来说,这可能会很慢。嗨,PaulFrancis。您的意思是从第一个字段中获取所有字段的查询吗?我试过了,没什么区别。我感到困惑的是,查询本身足够快。只有当我应用过滤器时,它才会变慢……首先,在一个大数据集上,查询速度有点慢,然后应用过滤器会进一步降低速度,使用LIKE是问题的关键。Like不是你能使用的最好的过滤器。在连接相关记录之前,您可以将过滤器应用于它通常基于的列。我所做的是:我创建了一个maketable查询,该查询将包含所有相关字段的表作为文本字段。我将我的搜索表单建立在这个表上(链接到主表),一切都很快!但是,每次更新数据时,我都需要更新此表。因此,当条目表单关闭时,我会提示用户更新表,以便搜索表单是最新的(他仍然可以选择不更新,因为他将无法搜索最新的数据)。搜索表单上还有一个更新按钮。这是我目前为止最好的解决方案。。。