MS 访问:下拉列表太慢



我基于查询(多个表)在MS Access(表单)中创建了一个下拉列表,问题是打开下拉列表大约需要一分钟。
如果我打开查询,它会立即打开。

我发现了是什么让下拉反应如此缓慢。这是我在查询中的条件:

In (SELECT [ObjectID] FROM [ObjectDetail] As Tmp GROUP BY [ObjectID] HAVING Count(*)>1) 

如果我从查询中删除此条件,下拉菜单将立即完美运行。

所以我的问题是:有没有办法让下拉菜单响应更快,同时仍然保持标准?
这是我的下拉查询的样子:

SELECT Version_Change.ObjectID, Version_Change.Key FROM Version_Change 
UNION 
SELECT "(All)" as ObjectID,"" as Key FROM Version Change;

通过将第二个 UNION 部分基于复杂查询,然后使用 UNION 而不是 UNION ALL 过滤掉重复项,可以增加不必要的复杂性。

试试这个:

创建一个虚拟表DummyOneRecord,其中包含一个字段(无关紧要)并添加一个记录。

然后使用(注意 UNION ALL)

SELECT Version_Change.ObjectID, Version_Change.Key FROM Version_Change 
UNION ALL
SELECT "(All)" as ObjectID, "" as Key FROM DummyOneRecord;

相关内容

最新更新