以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]表a各列值多久未出现自动录入到表b  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=193104)

--  作者:185723664
--  发布时间:2024/8/17 11:53:00
--  [求助]表a各列值多久未出现自动录入到表b

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

--  作者:有点蓝
--  发布时间: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
--  发布时间:2024/8/17 12:08:00
--  回复:(有点蓝)直接取某个数字的最大行数:http://w...

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


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

--  作者:有点蓝
--  发布时间: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
--  发布时间: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的科目列,感谢

--  作者:有点蓝
--  发布时间: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
--  发布时间: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




--  作者:有点蓝
--  发布时间:2024/8/17 15:52:00
--  
不要把我给的代码和其它用户给的代码混到一起,各人处理问题的思路不一样,用不到一起的。

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

--  作者:185723664
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间: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