Foxtable(狐表)用户栏目专家坐堂 → 同样的条件,为什么在table和datalist中执行效果不一样?


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

主题:同样的条件,为什么在table和datalist中执行效果不一样?

帅哥哟,离线,有人找我吗?
reachtone
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
同样的条件,为什么在table和datalist中执行效果不一样?  发帖心情 Post By:2009/8/3 13:46:00 [只看该作者]

有个条件表达式为:规格 like '*16*8*',目的是筛选规格包含16*8的所有记录。
在table中,把Filter设置为这个条件,可以正常执行;
但在datalist中,把RowFilter设置为这个条件,就执行出错。什么原因呢?怎样解决?

图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2009-8-3 13:57:09编辑过]

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/8/3 14:20:00 [只看该作者]

分成2个Like,用and连接

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/3 14:50:00 [只看该作者]

以下是引用kylin在2009-8-3 14:20:00的发言:
分成2个Like,用and连接

这是个办法。但这样一改的话,查询结果就不精确了:本来是要查询包含16*8的记录,现在变成只要包含16和8这两个数字就都符合条件了,外延明显扩大。
不知还有没有更好的办法?关键就是字符间的那个*号。


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


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/3 14:57:00 [只看该作者]

Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
Dim
txt As String
txt = "'*" & 16*8 & "*'"
dst.RowFilter = "规格 Like " & txt
这样试试

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


加好友 发短信
等级:一尾狐 帖子:463 积分:3559 威望:0 精华:0 注册:2009/6/26 8:01:00
  发帖心情 Post By:2009/8/3 15:09:00 [只看该作者]

引号太多,把人都搞晕了。

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/3 15:10:00 [只看该作者]

以下是引用yangming在2009-8-3 14:57:00的发言:
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
Dim
txt As String
txt = "'*" & 16*8 & "*'"
dst.RowFilter = "规格 Like " & txt
这样试试

呵呵,这样肯定不对。查询条件变成'*128*'了。
16*8是一种字符查询条件。


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


加好友 发短信
等级:婴狐 帖子:71 积分:703 威望:0 精华:0 注册:2009/7/4 13:56:00
  发帖心情 Post By:2009/8/3 15:29:00 [只看该作者]

1.長治久安:規範數據格式,儘量避免含有:通配符(*),单引号(')等特殊符號!
2.偷龍換鳳:Replace → Filter → Replace

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


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/3 15:36:00 [只看该作者]

以下是引用HLJ在2009-8-3 15:29:00的发言:
1.長治久安:規範數據格式,儘量避免含有:通配符(*),单引号(')等特殊符號!
2.偷龍換鳳:Replace → Filter → Replace

对,主要是星号惹的祸,改成16x8.就没事了
Dim txt As String = e.Form.Controls("TextBox1").Value
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
txt = "'*" & txt & "*'"
dst.RowFilter = "第三列 Like " & txt


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


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/3 15:41:00 [只看该作者]

如果非要显示星号,可以加一个辅助列,RowFilter时用辅助列

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/3 16:14:00 [只看该作者]

 新版本将统一


 回到顶部
总数 20 1 2 下一页