以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教实例  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91692)

--  作者:hbhb
--  发布时间:2016/10/17 10:50:00
--  请教实例
蓝导:见实例,请问如何获得数组(中国,印度,加拿大,日本,英国,美国,泰国,德国)的字符在表a中出现次数最多的列号?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目14.zip


--  作者:有点蓝
--  发布时间:2016/10/17 11:16:00
--  
Dim filter As String = "第一列 in (\'中国\',\'印度\',\'加拿大\',\'日本\',\'英国\',\'美国\',\'泰国\',\'德国\')"

Output.Show(DataTables("表A").Compute("Count([第一列])",filter))
Output.Show(DataTables("表A").Compute("Count([第二列])",filter))

自己比较各列计算值

--  作者:hbhb
--  发布时间:2016/10/17 11:33:00
--  
就是不知道如何通过遍列获得列号呀?帮帮忙吧!
--  作者:有点蓝
--  发布时间:2016/10/17 11:46:00
--  
http://www.foxtable.com/webhelp/scr/0561.htm


--  作者:hbhb
--  发布时间:2016/10/17 11:56:00
--  
劳驾把代码直接写给我不行么?不要链接,我只要结果能看懂就行。会者不难,难者不会?
--  作者:hbhb
--  发布时间:2016/10/17 12:22:00
--  
图片点击可在新窗口打开查看图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2016/10/17 14:20:00
--  
Dim count As Integer
Dim filter As String = " in (\'中国\',\'印度\',\'加拿大\',\'日本\',\'英国\',\'美国\',\'泰国\',\'德国\')"
For Each cl As Col In Tables("表A").Cols
    If cl.IsString
        count = DataTables("表A").Compute("Count(" & cl.Name & ")",cl.Name & filter)
        Output.Show(cl.Name & "-" & count)
    End If
Next

--  作者:hbhb
--  发布时间:2016/10/17 15:14:00
--  
谢谢!我要通过代码直接求出出现次数最多的列位置?
--  作者:有点蓝
--  发布时间:2016/10/17 15:43:00
--  
Dim max As Integer
Dim clname As String
Dim count As Integer
Dim filter As String = " in (\'中国\',\'印度\',\'加拿大\',\'日本\',\'英国\',\'美国\',\'泰国\',\'德国\')"
For Each cl As Col In Tables("表A").Cols
    If cl.IsString
        count = DataTables("表A").Compute("Count(" & cl.Name & ")",cl.Name & filter)
        If count > max Then
            max = count
            clname = cl.Name
        End If
    End If
Next

Output.Show(clname)

麻烦回去好好看看编程基础。