以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]帮忙看下这个筛选树的代码 谢谢 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=34091) |
-- 作者:jiskin -- 发布时间:2013/5/30 11:38:00 -- [求助]帮忙看下这个筛选树的代码 谢谢 在"生产进度表"里分别有两列"零件名称"和"工艺原料"调用筛选树窗口,但是现在情况是 两列不管是在哪列里面操作 都同时变发更改了……就像没做列判断一样! 请帮忙看看哪里写错了!
If e.Node.Level = 0 OrElse e.Node.Level = 1 Then \'如果是顶层节点 For Each t As Col In Tables("生产进度表").Cols [此贴子已经被作者于2013-5-30 11:39:55编辑过]
|
-- 作者:fjlclxj -- 发布时间:2013/5/30 11:45:00 -- For Each t As Col In Tables("生产进度表").Cols Dim r As Row = Tables("生产进度表").Current If t.Name = "零件名称" Then r("零件名称") = dr("品名") r("零件号") = dr("零件号") ElseIf t.Name = "工艺原料" Then r("工艺原料") = dr("零件号") End If e.Form.Close() Next 这段是干嘛呢
|
-- 作者:Bin -- 发布时间:2013/5/30 11:45:00 -- 请问能不能上例子,有例子的话效果比较直观,也可以测试一下看看是什么情况. 比单单看着代码靠脑补速度快得多. 想要问题快速得到解决,只少要方便一下帮助你的人吧?
|
-- 作者:jiskin -- 发布时间:2013/5/30 11:49:00 -- 以下是引用fjlclxj在2013-5-30 11:45:00的发言:
For Each t As Col In Tables("生产进度表").Cols Dim r As Row = Tables("生产进度表").Current If t.Name = "零件名称" Then r("零件名称") = dr("品名") r("零件号") = dr("零件号") ElseIf t.Name = "工艺原料" Then r("工艺原料") = dr("零件号") End If e.Form.Close() Next 这段是干嘛呢
我只是想在同一个表里 不同列调用这个筛选窗口做填写 |
-- 作者:jiskin -- 发布时间:2013/5/30 11:51:00 -- 以下是引用Bin在2013-5-30 11:45:00的发言:
请问能不能上例子,有例子的话效果比较直观,也可以测试一下看看是什么情况. 比单单看着代码靠脑补速度快得多. 想要问题快速得到解决,只少要方便一下帮助你的人吧?
因为项目里有很多数据,做例子也太麻烦了,如果发代码解决不了的话 我就只好去做例子了…… |
-- 作者:Bin -- 发布时间:2013/5/30 11:55:00 -- 以下是引用jiskin在2013-5-30 11:51:00的发言:
因为项目里有很多数据,做例子也太麻烦了,如果发代码解决不了的话 我就只好去做例子了…… ![]() 你这样循环列.怎么得都会有一次是 零件名称 一次是 工艺原料的好吧
|
-- 作者:jiskin -- 发布时间:2013/5/30 11:59:00 -- 以下是引用Bin在2013-5-30 11:55:00的发言:
![]() 你这样循环列.怎么得都会有一次是 零件名称 一次是 工艺原料的好吧
就是这个问题啊!闹不明白,为什么会两个都循环出来呢~ |
-- 作者:Bin -- 发布时间:2013/5/30 12:01:00 -- 这个怎么会不明白. 你循环 123456 你判断1就执行代码块1 判断2就执行代码块2 那么你循环的时候 肯定代码块1和代码块2都执行的啊. 因为你循环是1-2-3-4-5-6 第一次循环执行代码块1 第二次循环不就执行代码块2了吗? 有什么不明白的? |
-- 作者:jiskin -- 发布时间:2013/5/30 12:04:00 -- 以下是引用Bin在2013-5-30 12:01:00的发言:
这个怎么会不明白. 你循环 123456 你判断1就执行代码块1 判断2就执行代码块2 那么你循环的时候 肯定代码块1和代码块2都执行的啊. 因为你循环是1-2-3-4-5-6 第一次循环执行代码块1 第二次循环不就执行代码块2了吗? 有什么不明白的?
可是我选择"零件名称"列的时候 为什么"工艺原料" 也会变化呢? 难道 If t.Name = "零件名称" Then 不算判断列吗? 求指点
|
-- 作者:Bin -- 发布时间:2013/5/30 12:04:00 -- For Each t As Col In Tables("生产进度表").Cols 你循环的是所有列好吧.. 那么请问你IF判断有意义吗?像你这样的. 第一次列名1 符合第一个个条件 那么ELSEIF不执行正常啊. 那么第二次呢?你无视掉了? 变列名2了. 那不是不符合第一个IF条件 符合ELSEIF的条件了吗? 那不就执行ELSEIF了吗?
[此贴子已经被作者于2013-5-30 12:05:49编辑过]
|