Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
185723664 发表于:2024/8/17 11:53:00

求助,表a各列值,离表a最后一行,多少行未出现自动录入到表b,如图示
[此贴子已经被作者于2024/8/17 11:55:12编辑过]
2楼
有点蓝 发表于: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
3楼
185723664 发表于:2024/8/17 12:08:00

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


蓝大师,日期列也同时录入表b,求助
表a各列,求助生成到表b的科目列对应,批量执行,求助
[此贴子已经被作者于2024/8/17 12:17:20编辑过]
4楼
有点蓝 发表于: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编辑过]
5楼
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的科目列,感谢
6楼
有点蓝 发表于: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")
……
7楼
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



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

在5楼代码基础上加上6楼的遍历功能
9楼
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编辑过]
10楼
有点蓝 发表于: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 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 4 queries.