以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何求出同一列中相同特征的行的数量? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115527) |
||||
-- 作者:旭日生 -- 发布时间:2018/3/8 15:41:00 -- [求助]如何求出同一列中相同特征的行的数量? 统计出表A“页码”列中,同一流水号下包含相同特征“-”行的数量。 [此贴子已经被作者于2018/3/8 15:46:25编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/3/8 16:06:00 -- 没看懂你的逻辑。
上传具体项目,说明要计算什么,最后计算结果放到哪里。 |
||||
-- 作者:旭日生 -- 发布时间:2018/3/8 16:16:00 -- 就是统一同一流水号(如48615)下,页码列中有3个包含“-”字符的。我想得到这个“3”。 48611中,为3。 48612中,为2。 获得这些数据,以便用于其它地方引用的。
[此贴子已经被作者于2018/3/8 16:20:07编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/3/8 17:15:00 -- 比如代码
Dim n = DataTables("表A").Compute("count(流水号)", "流水号 = \'48615\' and 页码 like \'%-%\'") msgbox(n) |
||||
-- 作者:旭日生 -- 发布时间:2018/3/9 11:11:00 -- 这是一个一个计算,不是我想要的。我需要算出每个流水号对应的n值,并且能够引用这个n值到另外的代码中。弄了半天,没搞出来。 以下是引用有点甜在2018/3/8 17:15:00的发言:
比如代码
Dim n = DataTables("表A").Compute("count(流水号)", "流水号 = \'48615\' and 页码 like \'%-%\'") msgbox(n) [此贴子已经被作者于2018/3/9 11:11:41编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/3/9 12:18:00 -- 参考
http://www.foxtable.com/webhelp/scr/2394.htm
|
||||
-- 作者:旭日生 -- 发布时间:2018/3/9 18:01:00 -- 刷新表格DAJG_SSFZXX列“LSH”,运行如下代码,为什么系统会崩溃呢?如何解决? For Each nm As String In DataTables("DAJG_SSJCBM").GetValues("LSH") End If
|
||||
-- 作者:有点甜 -- 发布时间:2018/3/9 18:45:00 -- Select Case e.DataCol.Name Case "LSH" If e.DataRow.IsNull("LSH") = False Then Dim n = DataTables("DAJG_SSJCYX").Compute("count([LSH])", "LSH = \'" & e.DataRow("LSH") & "\' and YEMA Like \'%-%\'") msgbox(n) Dim Filter As String = "[LSH] = \'" & e.DataRow("LSH") & "\' and [JZLB] = \'Z\' " Dim maxCH As String = DataTables("DAJG_SSJCBM").compute("max(CH)", Filter) Dim maxP2 As String = DataTables("DAJG_SSJCBM").compute("max(P2)", filter) If maxCH = Nothing Then e.DataRow("ZJCS") = 0 e.DataRow("ZJYS") = 0 Else e.DataRow("ZJCS") = maxCH e.DataRow("ZJYS") = maxP2 +3 + n End If Dim FilterB As String = "[LSH] = \'" & e.DataRow("LSH") & "\' and [JZLB] = \'F\' " Dim maxCHB As String = DataTables("DAJG_SSJCBM").compute("max(CH)", FilterB) Dim maxP2B As String = DataTables("DAJG_SSJCBM").compute("max(P2)", filterB) If maxCHB = Nothing Then e.DataRow("FJCS") = 0 e.DataRow("FJYS") = 0 Else e.DataRow("FJCS") = maxCHB e.DataRow("FJYS") = maxP2B +3 + n End If End If Dim dr1 As DataRow = e.DataRow dr1("AJZCS") = dr1("ZJCS") + dr1("FJCS") End Select |