Foxtable(狐表)用户栏目专家坐堂 → 头痛的动态合成表达式


  共有5078人关注过本帖树形打印复制链接

主题:头痛的动态合成表达式

美女呀,离线,留言给我吧!
hbaijia
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:205 积分:1404 威望:0 精华:0 注册:2013/4/16 16:20:00
头痛的动态合成表达式  发帖心情 Post By:2013/7/1 10:57:00 [只看该作者]

用狐表也有一段时间了,但是每到要有合成动态表达式时就发怵,因为与以往的编程用法十分的不同,所以感到到现在为此还没有理解透,只是单纯的模仿,一旦出现没有现成的例子就搞来搞去的总问题,看帮助也看了,但好象讲这方面的就那么点点,怎么办?

如今又遇到了一个问题,我想做些查询工作,条件是:

1、先找到了所有满足条件的行

2、在这些行里再将不满足条件的行去掉

我的做法是:

For Each dr In DataTables("点表").DataRows

DataTables("登记表").Find("编号='" & dr("编号") & "'")

ids=ids & ",'" & dr("编号") & "'"

以上没有问题

下面是要将以上找到的行里,将其中一些行的列的内容为 状态1、状态2、状态2 的行从中去掉

ids=ids & ",'" & dr("状态") & <> "状态1"'"  

ids=ids & ",'" & dr("状态") & <> "状态2"'"   

ids=ids & ",'" & dr("状态") & <> "状态3"'"     这个就有问题了,改了几种方法,不是报错,就是不符合要求


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/1 11:03:00 [只看该作者]

你这个是不能使用一个IDS来完成的.


声明多一个变量  zt

zt=zt & ",'" & dr("状态") & "'"

然后  拼接为 "编号 in (" & ids.trim(",") & ") and 状态 in (" & zt.trim(",") & ")"

 回到顶部
美女呀,离线,留言给我吧!
hbaijia
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:205 积分:1404 威望:0 精华:0 注册:2013/4/16 16:20:00
  发帖心情 Post By:2013/7/1 11:58:00 [只看该作者]

zt=zt & ",'" & dr("状态") & "'"

关键加上不等 于怎么加?

zt=zt& ",'" & dr("状态") & <> "状态1"'" 这个不对


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/1 12:00:00 [只看该作者]

那么再加一句

编号 in (" & ids.trim(",") & ") and 状态 in (" & zt.trim(",") & ") and 状态 not in ('状态1','状态2','状态3')"

 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2013/7/1 14:39:00 [只看该作者]

我总结的规律是:

DataTables("登记表").Find("编号=12") ,如果要将"12"换成变量,则为12=" & 变量 & "。也就是用" & 变量 & "替换,这样一般不会出错。


 回到顶部