以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Topicbar动态添加代码求教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78425)

--  作者:文道古月
--  发布时间:2015/12/9 8:52:00
--  Topicbar动态添加代码求教

琢磨了好久,在红袍老师的帮助下,改了改一些代码(主要还是红袍老师的帮助)

请老师帮忙看看

下面这段代码有没问题,可否合并或者简洁一点?

\'\'B004总库视图页面定义
Dim page As WinForm.TopicPage \'页面控件
page = tpb.Pages.Add("B004", "B004", "B004.ico")  \'此名称的页面表中没有,手动添加
page.Collapsed = False \'默认展开此页面
For Each b2 As String In DataTables("总库").GetValues("类别") \'获取表中所有的类别,并把不重复的设为任务名称
    Dim sm As Integer = DataTables("总库").Compute("sum([数量])","类别 =\'" & b2 & "\'") \'对符合任务名称的类别求和,并保存值在sm中(赋值下一行代码中任务的标题中)
    Dim lnk As WinForm.TopicLink = Page.links.Add(b2, b2 &  "  " & sm & "  " & "pcs", b2 & ".ico")
Next

\'\'其他页面的动态添加
For Each p As String In DataTables("总库").GetValues("责任区域") \'取某一列的不重复值,作为动态添加TopicBar页面的名称
    tpb.Pages.Add(p, p, p & ".ico").Collapsed = True \'调用变量tpb的增加页面方法,名称,标题,图片,都=页面名称,
    \'根据页面,动态添加任务
    For Each b1 As String  In DataTables("总库").GetValues("类别","责任区域 like \'" & p & " \'") \'任务的名称=表中,类别列,条件是,类别对应的责任区域列中,包含页面标题
       Dim sm As Integer = DataTables("总库").Compute("sum([数量])","类别 =\'" & b1 & "\'") \'对符合任务名称的类别求和,并保存值在sm中(赋值下一行代码中任务的标题中)
       tpb.pages(p).Links.Add(b1, b1 &  "  " & sm & "  " & "pcs", b1 & ".ico") \'调用变量tpb的页面集合,通过返回的页面名称或标题,调用其增加任务的属性,设置任务标题,名称=上面遍历的集合
    Next
Next
[此贴子已经被作者于2015/12/9 8:54:27编辑过]

--  作者:文道古月
--  发布时间:2015/12/9 9:00:00
--  
额额额

刚刚没注意看,两段代码的求和数量都是一样的,,,(要的是分开统计呢)

汗,老师帮我看看,改了好久,居然还是错的

--  作者:大红袍
--  发布时间:2015/12/9 9:10:00
--  
什么意思,哪里错,报什么错
--  作者:大红袍
--  发布时间:2015/12/9 9:12:00
--  

如果统计不对,就是条件不对

 

Dim sm As Integer = DataTables("总库").Compute("sum([数量])","类别 =\'" & b1 & "\' And 责任区域 like \'" & p & "\'")


--  作者:文道古月
--  发布时间:2015/12/9 9:27:00
--  
恩恩,是要加and,

谢谢老师