Foxtable(狐表)用户栏目专家坐堂 → [求助]表a各列值多久未出现自动录入到表b


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

主题:[求助]表a各列值多久未出现自动录入到表b

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


加好友 发短信
等级:幼狐 帖子:113 积分:974 威望:0 精华:0 注册:2023/6/18 23:26:00
[求助]表a各列值多久未出现自动录入到表b  发帖心情 Post By:2024/8/17 11:53:00 [只看该作者]


求助,表a各列值,离表a最后一行,多少行未出现自动录入到表b,如图示
[此贴子已经被作者于2024/8/17 11:55:12编辑过]

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


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/17 12:01:00 [只看该作者]

直接取某个数字的最大行数:http://www.foxtable.com/webhelp/topics/0553.htm

比如2409列0值
Dim dr As DataRow
dr = 
DataTables("表A").Find("[柒
2409] = 0""_sortkey Desc")
If 
dr IsNot Nothing Then
    Dim 
wz As Integer = Tables("订单").FindRow(dr)
    If 
wz >= 0 Then 
        MessageBox.Show("最大行数=" & wz)
        MessageBox.Show(Tables("表A").rows.Count - 1 - wz)
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:113 积分:974 威望:0 精华:0 注册:2023/6/18 23:26:00
回复:(有点蓝)直接取某个数字的最大行数:http://w...  发帖心情 Post By:2024/8/17 12:08:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:22.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日期列同时也录入.foxdb


蓝大师,日期列也同时录入表b,求助
表a各列,求助生成到表b的科目列对应,批量执行,求助
[此贴子已经被作者于2024/8/17 12:17:20编辑过]

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


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/17 13:26:00 [只看该作者]

最大行都有了,取最大行的数据也容易呀

    If wz >= 0 Then 
dim r as row = Tables("表A").rows(wz)
msgbox(r("日期"))
    End If
[此贴子已经被作者于2024/8/17 13:26:20编辑过]

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


加好友 发短信
等级:幼狐 帖子:113 积分:974 威望:0 精华:0 注册:2023/6/18 23:26:00
回复:(有点蓝)最大行都有了,取最大行的数据也容易...  发帖心情 Post By:2024/8/17 14:13:00 [只看该作者]

蓝大师,下面代码怎么无效果

Dim dr As DataRow
dr = DataTables("表A").Find("[柒2409] = 0", "_sortkey Desc")
If dr IsNot Nothing Then
    Dim wz As Integer = Tables("表B").FindRow(dr)
    If wz >= 0 Then
        
        Dim r As Row = Tables("表A").rows(wz) 
        '在产品表找出该产品
        Dim drb As DataRow = DataTables("表B").Find("科目 = '柒2409'")
        If drb IsNot Nothing' Then Then如果找到,则设置各列内容
            drb("列间隔最大值_0") = Tables("表A").rows.Count - 1 - wz
            drb("列间隔最大值_0_日期") = Tables("表A").rows(wz) 
        End If
        
        
    End If
End If

求助,能够实现表a多列批量生成到表b的科目列,感谢

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


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/17 14:43:00 [只看该作者]

怎么处理所有列,前面例子里有。如果数值只有0~4,直接遍历就行。如果给的代码都看不懂,建议先学学基础

For Each r As Row In Tables("表B").rows
msgbox("列名=" & r("科目"))
  for i as integer = 0 to 4
Dim dr As DataRow
dr = DataTables("表A").Find(r("科目") & " = " & i, "_sortkey Desc")
……

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


加好友 发短信
等级:幼狐 帖子:113 积分:974 威望:0 精华:0 注册:2023/6/18 23:26:00
回复:(有点蓝)怎么处理所有列,前面例子里有。如果...  发帖心情 Post By:2024/8/17 15:46:00 [只看该作者]

蓝老师,说的对,多多指教。不是开发专业基础差,辛苦了,一边学一边完成工作的项目
还是搞不定,辛苦有空时帮忙修改一下
For Each r As Row In Tables("表B").rows
    Dim 行 As DataRow = e.DataRow
    Dim 行值集 As New List(Of Integer)({行("列间隔最大值_0"), 行("列间隔最大值_1"), 行("列间隔最大值_2"), 行("列间隔最大值_3"), 行("列间隔最大值_4")})
    For i As Integer = 0 To 4
        Dim dr As DataRow
        dr = DataTables("表A").Find(r("科目") & " = " & i, "_sortkey Desc")
        If dr IsNot Nothing Then
            Dim wz As Integer = Tables("表A").FindRow(dr)
            If wz >= 0 Then 
                '                MessageBox.Show("最大行数=" & wz)
                '                MessageBox.Show(Tables("表A").rows.Count - 1 - wz)
                行("列间隔最大值_1" & i) = 行值集.IndexOf (i)
                '                                行("列间隔最大值_0_日期" & i) = 行值集.IndexOf (i)
                
            End If
        End If
    Next
Next
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1 - 副本.foxdb




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


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/17 15:52:00 [只看该作者]

不要把我给的代码和其它用户给的代码混到一起,各人处理问题的思路不一样,用不到一起的。

在5楼代码基础上加上6楼的遍历功能

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


加好友 发短信
等级:幼狐 帖子:113 积分:974 威望:0 精华:0 注册:2023/6/18 23:26:00
回复:(有点蓝)不要把我给的代码和其它用户给的代码...  发帖心情 Post By:2024/8/17 16:18:00 [只看该作者]

蓝总,有空时,辛苦帮忙,还是有问题

For Each r As Row In Tables("表B").rows
    Dim dr As DataRow
    For i As Integer = 0 To 4
        dr = DataTables("表A").Find(r("科目") & " = " & i, "_sortkey Desc")
        If dr IsNot Nothing Then
            Dim wz As Integer = Tables("表B").FindRow(dr)
            If wz >= 0 Then
                r("列间隔最大值_" & i) = Tables("表A").rows.Count - 1 - wz
                r("列间隔最大值_" & i & _日期) = dr("日期")
            End If
        End If
    Next
Next
[此贴子已经被作者于2024/8/17 16:18:54编辑过]

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


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/17 16:31:00 [只看该作者]

            Dim wz As Integer = Tables("表A").FindRow(dr)
            If wz >= 0 Then
                r("列间隔最大值_" & i) = Tables("表A").rows.Count - 1 - wz
                r("列间隔最大值_" & i & "_日期") = dr("日期")
            End If

 回到顶部
总数 12 1 2 下一页