以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]表a各列值多久未出现自动录入到表b (http://foxtable.net/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...
蓝大师,日期列也同时录入表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
|
||||
-- 作者:有点蓝 -- 发布时间: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 |