以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请帮助写一下代码?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44997)

--  作者:lyfxybc
--  发布时间:2014/1/13 15:17:00
--  请帮助写一下代码?

如下代码:白毛档、边道印、刺坏三个是已知的,可以写成下列代码

Dim Z As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "白毛档","边道印","刺坏"

        Z("其他") = Z("白毛档")+Z("边道印")+Z("刺坏)

End Select

 

当新出现的问题(无法预知),问题不一定几个,如何用代码表示

就是新出现的问题也累计后给“其他”。

如:生产中无意出现了一个“黑点”

Dim Z As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "白毛档","边道印","刺坏"

        Z("其他") = Z("白毛档")+Z("边道印")+Z("刺坏)

    case “”

       Z(“其他”)=??

End Select


--  作者:狐狸爸爸
--  发布时间:2014/1/13 15:36:00
--  

Dim Z As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "白毛档","边道印","刺坏"

        Z("其他") = Z("白毛档")+Z("边道印")+Z("刺坏)

    case else

       Z(“其他”)=??

End Select

 

http://www.foxtable.com/help/topics/0224.htm

 

 


--  作者:y2287958
--  发布时间:2014/1/13 16:14:00
--  
俺是未看懂楼主所表达的意思
--  作者:lyfxybc
--  发布时间:2014/1/13 16:22:00
--  

假设项目已经发布,就写了三个问题"白毛档","边道印","刺坏",那么当在生产过程中可能出现我们不知道的问题,(不是上面三个了),这时操作工输入在问题列里,那如何把新出现的而在项目中未列入的如何计算。加一段代码,来判断新加入的不是上面三个,在累计。

 

Dim Z As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "白毛档","边道印","刺坏"

        Z("其他") = Z("白毛档")+Z("边道印")+Z("刺坏)

End Select


--  作者:Bin
--  发布时间:2014/1/13 16:25:00
--  
还是没太看懂你的意思? 你的意思是运行过程中会动态增加列?  自动计算多出来的列?
--  作者:lyfxybc
--  发布时间:2014/1/13 16:33:00
--  
就是这个意思
--  作者:Bin
--  发布时间:2014/1/13 16:44:00
--  

那你还Select Case有何意义?


直接循环所有列相加不就完了?

Dim Z As DataRow = e.DataRow

for each c as col in tables("表A").cols

     if c.name <> "其它" then

         z("其它")=z("其它")+z(c.name)

     end if

next


--  作者:lyfxybc
--  发布时间:2014/1/13 16:49:00
--  

谢谢


--  作者:包头123
--  发布时间:2014/1/14 11:12:00
--  
好像有点复杂说的。