以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  条件达成自动显示-已解決  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=33496)

--  作者:realredred
--  发布时间:2013/5/19 16:20:00
--  条件达成自动显示-已解決
条件:当在"进度"表里的项目状态是"完版",而"试版单"的日期在05-01 到05-31 之间
把"月汇总"表里的"工单号"列清空
然后把 "进度"表对应条件的"工单号"列的工单号
自动显示到"月汇总"表里的"工单号"列上
这个我完全沒有思路,各狐友能提供方法嗎?


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


[此贴子已经被作者于2013-5-25 18:41:47编辑过]

--  作者:sloyy
--  发布时间:2013/5/19 18:18:00
--  

1 根据条件筛选进度表

2 清空月汇总表

3 复制条件筛选后的进度表

 

这不是很简单吗?


--  作者:realredred
--  发布时间:2013/5/19 18:34:00
--  
是以代码去实现,以窗体或MainTableChanged
这就较复杂
我先以sloyy 所说的思路去设设,再有疑问的话
就请教了,谢谢

--  作者:zbsdkq012890
--  发布时间:2013/5/19 18:49:00
--  

这个有两个方法:一个是直接在进度表内用高级筛选录入筛选条件。如图:
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

另外一个是编写代码生成查询表。不过这个我觉得对你应用没有必要!


--  作者:realredred
--  发布时间:2013/5/19 19:43:00
--  
因为这样需要手动 
1 篩选进度表的相关条件
2 复制结果
3 汇总表的工单号列清空
4 贴上
想做到是一键出结果  或者 转換表时 出结果

--  作者:realredred
--  发布时间:2013/5/19 23:33:00
--  
用窗体按键做
1 篩选进度表的相关条件
代码想好了
    Dim dt1 = Tables("主页")(0,"月开始日")\'
    Dim dt2 = Tables("主页")(0,"月截止日")\'
Dim t As Table = Tables("进度")
Dim t1 As Table = Tables("月汇总")
t.Select(0,0)
Tables("进度").Filter = ""
Tables("进度").Filter = "[项目状态] = \'完版\'and [试版单] >= #" & dt1 & "# and [试版单] <= #" & dt2 & "#"
Dim c As Col = t.Cols(t.ColSel)
MessageBox.Show("选定列的名称是:" & c.Name)

然后,整列复制的代码是啥呢?图片点击可在新窗口打开查看图片点击可在新窗口打开查看

--  作者:sloyy
--  发布时间:2013/5/20 0:21:00
--  
为啥不是整表复制咧?
--  作者:realredred
--  发布时间:2013/5/20 1:41:00
--  
整表复制不好,因为工作表有锁定使用者权限


--  作者:realredred
--  发布时间:2013/5/23 1:56:00
--  
怎麼高手都沒有回复的?
沒法子
在三看帮助文件下

折騰出这样的代码
算是能做到目的
不过代码是否严紧和会否有BUG就仍未测试出來
用字典做出來的
还好,在用EXCEL做系统时有做过类似的字典求工单号的

\'汇总
Dim dic As new Dictionary(of String,String)
Dim dt1 = Tables("主页")(0,"月开始日")\'
   Dim dt2 = Tables("主页")(0,"月截止日")\'
DataTables("月汇总").DataRows.Clear()\'月汇总表完全清空

    For Each dr2 As DataRow In DataTables("进度").Select("[项目状态] = \'完版\'and [试版单] >= #" & dt1 & "# and [试版单] <= #" & dt2 & "#")
        Dim nm As String = dr2("工单号") 
      Dim vl As String = dr2("款类")
      If dic.ContainsKey(nm) = False
          dic.Add(nm,vl)
      Else
         dic(nm) = dic(nm)+ vl
     End If
    Next

For Each key As String In dic.keys
    Dim dr As DataRow = DataTables("月汇总").AddNew()\'月汇总
    dr("工单号") = key \'模号
    dr("款类") = dic(key)
Next


[此贴子已经被作者于2013-5-23 1:57:48编辑过]