首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dlookup慢速结果

dlookup慢速结果
EN

Stack Overflow用户
提问于 2012-12-11 02:05:08
回答 1查看 1.6K关注 0票数 1

我在access 2010中遇到了一个问题,我的dlookup运行非常慢,但如果我已经打开了保存的查询,它运行得相当快。任何想法都必须知道这是为什么,以及如何绕过这个问题

编辑

代码语言:javascript
复制
txtPurchase_Price = DLookup("Purchase_Price", "qryPurchaseInfo", "ID = " & check)

这就是dlookup

查询的sql是

代码语言:javascript
复制
SELECT Receiving.Serial,Purchase_Info.Purchase_Price, Purchase_Info.Check_Number,
  Purchase_Info.Purchase_Date, Purchase_Info.ID, Receiving.Source
FROM Purchase_Info INNER JOIN Receiving ON 
  Purchase_Info.ID = Receiving.Purchase_Price_ID;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-11 05:21:38

我不确定为什么要使用查询作为DLookup的数据源(域选项)。如果您的意图是将一组允许的Purchase_Info.ID值限制为那些也作为Receiving.Purchase_Price_ID值出现的值,那么这是有意义的。

但如果是这种情况,请尝试使用更简单的查询。

代码语言:javascript
复制
SELECT
    Purchase_Info.Purchase_Price,
    Purchase_Info.ID
FROM Purchase_Info INNER JOIN Receiving
ON Purchase_Info.ID = Receiving.Purchase_Price_ID;

尽管我怀疑这种查询是否会带来显著的速度提升,但我不明白为什么只要同时在Purchase_Info.IDReceiving.Purchase_Price_ID上都有索引,它就会变慢。

如果这不是您的目的,那么您应该能够直接从Purchase_Info表中检索Purchase_Price,而不需要将它连接到Receiving表。有了Purchase_Info.ID上的索引,这应该很快

代码语言:javascript
复制
DLookup("Purchase_Price", "Purchase_Info", "ID = " & check)

最后,我不知道check是什么。它可以是窗体上控件的名称。但是,不管它是什么,我更喜欢给它一个不同的名字,因为check是一个保留字。我永远无法预测什么时候作为对象名称的保留字会带来麻烦,所以我倾向于完全避免它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13806574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档