Foxtable(狐表)用户栏目专家坐堂 → 筛选问题 挺复杂的···


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

主题:筛选问题 挺复杂的···

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/3/31 21:39:00 [显示全部帖子]

条件就是颜色?


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/3/31 23:29:00 [显示全部帖子]

这好像就是排除重复,做个示例文件给大家来研究!


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/1 9:02:00 [显示全部帖子]

提示:增加临时列再筛选,反正临时列不会保存!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/1 11:48:00 [显示全部帖子]

您的判断有问题,假如是隔行、甚至隔几行相同呢?

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/1 12:52:00 [显示全部帖子]

以下是引用mr725在2010-4-1 12:09:00的发言:

那要来几次遍历了,可就麻烦了。。。 要用select 归集等···

幸好,会计分录有规则,目前感觉能将其排序成1楼的样式,否则真的难了····(碰到时再请教)


不会吧?

..........添加临时列
for i as integer = 0 to tables("帐簿").count -1
    dim dr as datarow
    dr = DataTables("帐簿").Find("[日期] = #" & tables("帐簿").rows(i)("日期") & "# and [凭证号] = '" & tables("帐簿").rows(i)("凭证号") & "'")
    if tables("帐簿")(i,"_Identify") = dr("_Identify")
        dr("Note") = "a"
    end if
next
Tables("帐簿").Filter = "[Note] = 'a'"
.........删除临时列


前面加上增加临时列,后面加上删除临时列的代码,您自己搞定(临时列相当于您文件中的[Note]列)。


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/1 13:23:00 [显示全部帖子]

以下是引用czy在2010-4-1 13:11:00的发言:


好象没这么简单吧?
少了借贷的比较就失去意义了。

[此贴子已经被作者于2010-4-1 13:12:15编辑过]



没注意到他还有两个条件,这个不是问题,增加两组条件就ok了

..........添加临时列
for i as integer = 0 to tables("帐簿").count -1
    dim dr as datarow
    dr = DataTables("帐簿").Find("[日期] = #" & tables("帐簿").rows(i)("日期") & "# and [凭证号] = '" & tables("帐簿").rows(i)("凭证号") & "'and [借方金额] = " & tables("帐簿").rows(i)("借方金额") & "and [贷方金额] = " & tables("帐簿").rows(i)("贷方金额"))
    if tables("帐簿")(i,"_Identify") = dr("_Identify")
        dr("Note") = "a"
    end if
next
Tables("帐簿").Filter = "[Note] = 'a'"

.........删除临时列


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/1 13:27:00 [显示全部帖子]

借用楼主的方式,这样少写几个字符:

for i as integer = 0 to tables("帐簿").count -1
    dim dr as datarow
    dr = DataTables("帐簿").Find("[日期] = #" & currenttable(i,"日期") & "# and [凭证号] = '" & currenttable(i,"凭证号") & "'and [借方金额] = " & currenttable(i,"借方金额") & "and [贷方金额] = " & currenttable(i,"贷方金额"))
    if tables("帐簿")(i,"_Identify") = dr("_Identify")
        dr("Note") = "a"
    end if
next
Tables("帐簿").Filter = "[Note] = 'a'"

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/1 21:47:00 [显示全部帖子]

要想速度快,辅助列不要用临时列,随着数据的录入,通过前面几个列的变化,用事件代码自动标记,最后只是筛选,就快很多倍了!


 回到顶部