设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3926|回复: 15
打印 上一主题 下一主题

[其它] 实现在VBA代码中使用In运算符

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-29 02:35:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在查询中我们可以使用In运算符来构造表达式,如
WHERE [字段1] In (1,2,3,4)
但是在VBA代码中却没有办法像这样用
表达式结果=变量A In (1,2,3,4)
其实直接这样用是不行,但并不是说就完全不能,我们可以通过EVal函数来变通实现
表达式结果=EVal(变量A & "In(1,2,3,4)")
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
16#
发表于 2012-6-6 18:54:55 | 只看该作者
layaman_999 发表于 2012-6-4 18:49
示例:
Eval ("3 in (1,2,3) ") 返回 true
Eval ("4 in (1,2,3)") 返回 false

大侠,这个可以是文字吗?试了一下,怎么换成文字就不行了
15#
发表于 2012-6-6 21:47:46 | 只看该作者
zhu320211 发表于 2012-6-6 18:54
大侠,这个可以是文字吗?试了一下,怎么换成文字就不行了

字符串:
Eval ("'A' in ('A','B','C') ") 返回 true
Eval ("'D' in ('A','B','C') ") 返回 false
注意加''
^_^
14#
发表于 2012-6-7 10:26:38 | 只看该作者
还是不行啊,如果用变量要加引号吗
13#
发表于 2012-6-4 18:49:41 | 只看该作者
示例:
Eval ("3 in (1,2,3) ") 返回 true
Eval ("4 in (1,2,3)") 返回 false
============
dim I
I=(表达式)
if Eval ( i & " in (1,2,3)") then
  msgbox "i是1,2,3中的其中一个数"
else
  msgbox "i不是1,2,3中的其中一个数"
end if

点评

大侠,in后面可以是变量吗,如果可以怎样写  发表于 2012-6-8 17:21
12#
发表于 2012-6-4 17:57:49 | 只看该作者
这个版主能做个示例吗?
11#
发表于 2012-6-5 09:41:35 | 只看该作者
{:soso_e163:}
10#
发表于 2012-6-8 19:01:57 | 只看该作者
Eval 只是给出一个新方法
建议要循环对象请用:
For Each element In group
=====
vba中没有in逻辑符合
多看看循环语句来判断,你会有收获的:
Do...Loop
For...Next

9#
发表于 2012-6-8 17:24:57 | 只看该作者
layaman_999 发表于 2012-6-4 18:49
示例:
Eval ("3 in (1,2,3) ") 返回 true
Eval ("4 in (1,2,3)") 返回 false

大侠,in后面可以是集合的名称吗,集合的名称可以使用变量,如果可以怎样写  
8#
发表于 2010-11-4 11:03:37 | 只看该作者
学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-27 06:16 , Processed in 0.105414 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表