Foxtable(狐表)用户栏目专家坐堂 → [求助] 如何从另一表中读出某些条件下的某列最大数据?


  共有2557人关注过本帖树形打印复制链接

主题:[求助] 如何从另一表中读出某些条件下的某列最大数据?

帅哥哟,离线,有人找我吗?
旭日生
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:340 积分:3375 威望:0 精华:0 注册:2011/3/22 22:52:00
[求助] 如何从另一表中读出某些条件下的某列最大数据?  发帖心情 Post By:2018/3/1 16:32:00 [只看该作者]

更正一下:19数字下方应为27。

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/3/1 16:35:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/1 16:59:00 [只看该作者]

比如统计代码

 

Dim Filter As String = "LSH = '" & e.datarow("LSH") & "' and LB = 'Z'"

Dim max As String = DataTables("表A").compute("max(P2)", filter)

e.datarow("ZJYS") = max

 

http://www.foxtable.com/webhelp/scr/0681.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
旭日生
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:340 积分:3375 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2018/3/2 17:34:00 [只看该作者]

谢谢版主!

但发现一点小问题:除了LSH号为“17120820”的那个页数“70”正确,其它都不正确。不清楚是什么原因?

几个月前在各版主大力支持下,生吞活剥地设计了一个软件,倒是挺好使。但现在好久没有时间研究FOXTABLE,好多新知识没学会,倒是有的基础知识都忘了。现在急用,所以只好再次求助版主。我直接给出文件,请帮忙。谢谢!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.foxdb


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/2 18:25:00 [只看该作者]

代码没问题。你把【p1】【p2】【ch】列改成数值列。

 回到顶部
帅哥哟,离线,有人找我吗?
旭日生
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:340 积分:3375 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2018/3/2 19:51:00 [只看该作者]

谢谢提醒!

请版主再帮我看看代码:

1、为什么重置表“DAJG_SSFZXX”中“LSH”列时,会自动增加311行,而不是GetValues("LSH")之后流水号不重复的10行?

2、如何实现系统保存时,自动重置表“DAJG_SSFZXX”呢?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test1.foxdb


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/2 20:20:00 [只看该作者]

1、原因:http://www.foxtable.com/webhelp/scr/1522.htm


没有必要总是重置,数据自动统计参考:http://www.foxtable.com/webhelp/scr/1472.htm

 回到顶部
帅哥哟,离线,有人找我吗?
旭日生
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:340 积分:3375 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2018/3/2 22:08:00 [只看该作者]

1、项目事件MainTableChanged中加入下面的代码:

If MainTable.Name = "DAJG_SSFZXX" Then
    DataTables("DAJG_SSFZXX").DataCols("LSH").RaiseDataColChanged()
End If

 

2、将表"DAJG_SSFZXX"中的DataColChanged事件代码改为,仍然存在生成许多空行问题。还是没太明白原因是什么?

Dim V1 As List(of String)
V1 = DataTables("DAJG_SSJCBM").GetValues("LSH")
' Output.Show(V1.Count -1)
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)

Select Case e.DataCol.Name
    Case "LSH"
        For i As Integer = 0 To V1.Count -1
            DataTables("DAJG_SSFZXX").AddNew()
            Dim dr1 As DataRow = DataTables("DAJG_SSFZXX").DataRows(i)
            dr1("LSH") = V1(i)
            e.DataRow("ZJCS") = maxCH
            e.DataRow("ZJYS") = maxP2
        Next
End Select
' DataTables("DAJG_SSFZXX").DeleteFor("[LSH] IS NULL" )

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test2.foxdb


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/2 22:37:00 [只看该作者]

http://www.foxtable.com/webhelp/scr/1472.htm

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test2.zip



 回到顶部
帅哥哟,离线,有人找我吗?
旭日生
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:340 积分:3375 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2018/3/2 22:58:00 [只看该作者]

太感谢了!这么晚了,居然还能回复。


 回到顶部