以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  有条件的行数统计  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=184149)

--  作者:朱女士
--  发布时间:2022/11/25 15:28:00
--  有条件的行数统计
老师您好!
我想统计“车间扫描表”的“jsbm”列不重复值得行数,我在窗口按钮写的代码,其中:select语句不执行,不知道什么原因,请指教,谢谢!
For Each nm As String In DataTables("车间扫描表").GetValues("jsbm")    
    Dim dr As DataRow = DataTables("车间工序时间统计表").find("jsbm=\'" & nm & "\'") 
    If dr Is Nothing Then
        dr = DataTables("车间工序时间统计表").AddNew()
        Dim n As Integer 
        Select Count( * ) As n Fr m {车间扫描表} Where jsbm = \'" & nm & "\'"                
        MessageBox.Show(n)   
    End If
Next

--  作者:有点蓝
--  发布时间:2022/11/25 15:31:00
--  
调用sql要使用SQLCommand,不是放一条sql就能自己执行的:http://www.foxtable.com/webhelp/topics/0696.htm
--  作者:朱女士
--  发布时间:2022/11/25 16:42:00
--  
老师您好!
 本人实在是弄不出来了,还得请教您!我就是逐行判断jsbm列不重复值,然后统计行数,我的下面代码是统计了所有行,没有按条件统计。请指教,谢谢!
For Each nm As String In DataTables("车间扫描表").GetValues("jsbm")
    
    Dim dr As DataRow = DataTables("车间工序时间统计表").find("jsbm=\'" & nm & "\'") 
    If dr Is Nothing Then
        dr = DataTables("车间工序时间统计表").AddNew()
        Dim pr As DataRow = DataTables("车间扫描表").find("jsbm=\'" & nm & "\'")
         
        Dim n As Integer
        Dim dt As DataTable = DataTables("车间扫描表")        
        n = dt.Compute("Count(jsbm)", pr("jsbm") & "=\'" & nm & "\'")
        MessageBox.Show(n)
        
     
    End if
Next


--  作者:有点蓝
--  发布时间:2022/11/25 16:45:00
--  
For Each nm As String In DataTables("车间扫描表").GetValues("jsbm")
    Dim dr As DataRow = DataTables("车间工序时间统计表").find("jsbm=\'" & nm & "\'") 
    If dr Is Nothing Then
        dr = DataTables("车间工序时间统计表").AddNew()
dr("jsbm") =nm 
endif
dr("行数") = DataTables("车间扫描表").Compute("Count(jsbm)", "jsbm=\'" & nm & "\'")
next