首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在查询中使用不是条件语句中的RecordSource的记录?

如何在查询中使用不是条件语句中的RecordSource的记录?
EN

Stack Overflow用户
提问于 2015-08-01 02:59:34
回答 1查看 40关注 0票数 1

首先,我对AccessVBA比较陌生,虽然我对一些东西有很好的理解,但我仍然不太熟悉access和VBA使用的基本概念。

我有两个查询,调优和硬件(数据库用于数控加工线)。调整是表单的记录源。我在条件语句中使用调优查询中的数据,根据它们的值给表单上的代码框着色。在我的代码中有一个这样的示例:

代码语言:javascript
运行
复制
If MachineID = 3 And (Integral_Gain_X < 181 Or Integral_Gain_Y < 181 Or 
Integral_Gain_Z < 195) Then
m110a.BackColor = RGB(247, 255, 0)
End If

(Integral_Gain_X是调整中的一个字段)

我希望有一个类似类型的语句,它使用硬件查询中字段中的数据条目来创建类似类型的条件语句,但一直无法做到这一点。这是可能的吗?如果是的话,你能解释一下设置它的最佳方法吗?

请让我知道如果这是足够的信息,这是我在这里的第一个帖子。

提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2015-08-01 22:59:24

DLOOKUP将从另一个表或查询中获取单个值,条件取自当前显示的记录。

但是,如果您需要从另一个表中获取大量字段,这可能是一个很慢的方法,但这通常只在列表表单上显示多个记录时才是一个因素。

另一种选择是将表单建立在一个查询的基础上,该查询从连接在一起的两个查询Tuning和Hardware中选择数据。这将比使用DLOOKUP更快。这并不总是有效的,因为添加一些连接将导致查询“不可更新”。最好的做法是尝试创建一个从两个查询中选择的新查询,确保完成联接,以便在硬件表中只对调优表中的单个行查找一行。

(使用OUTERJOIN (例如LEFT JOIN),即使不存在硬件行,也始终获得调优行)。

如果任何一个表都有group by子句(即with SUM,MIN,MAX),你就不能这样做,因为group by语句总是不可更新的)

还要注意,更高版本的Access可能会将条件格式设置规则添加到字段中(与excel中的情况非常相似),在“设计”视图中打开窗体。请参阅ribbon>Form Design>Format>Conditional格式设置。

PS。我希望您给出的VBA IF语句具有一个将颜色设置回原色的else

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

https://stackoverflow.com/questions/31753318

复制
相关文章

相似问题

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