Foxtable(狐表)用户栏目专家坐堂 → 如何定位复制行


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

主题:如何定位复制行

美女呀,离线,留言给我吧!
yfy13338431925
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:4492 威望:0 精华:0 注册:2018/12/5 23:10:00
如何定位复制行  发帖心情 Post By:2019/4/1 15:25:00 [只看该作者]

在订单表中的表事件

DataColChanged

 

If e.DataCol.Name = "是否" AndAlso e.DataRow("是否") = True Then
    Dim nma() As String = {"单价","日期"} 'A表数据来源列
    Dim nmb() As String = {"单价","日期"} 'B表数据接收列
    Dim dr As DataRow = DataTables("新表").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If

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

想把最早的时间这一行复制到“新表”最早时间这一行的相关列中

把最晚的时间这一行,复制到“新表”最新时间这一行的相关列中

上面的代码如何改

实例传上,请老师帮助


 

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


 


图片点击可在新窗口打开查看此主题相关图片如下:图片1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/4/1 15:25:55编辑过]

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


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

具体数据库也要发上来测试。

 回到顶部
美女呀,离线,留言给我吧!
yfy13338431925
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:4492 威望:0 精华:0 注册:2018/12/5 23:10:00
  发帖心情 Post By:2019/4/1 16:07:00 [只看该作者]

我发错了,用的都是内表
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


 回到顶部
美女呀,离线,留言给我吧!
yfy13338431925
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:4492 威望:0 精华:0 注册:2018/12/5 23:10:00
  发帖心情 Post By:2019/4/1 16:10:00 [只看该作者]

含数据库

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar


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


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

参考代码

 

If e.DataCol.Name = "是否" Then
    If e.DataRow("是否") = True Then
        Dim fdr1 As DataRow = DataTables("新表").find("产品id = '" & e.DataRow("产品id") & "' and 起始单价对比 = '最早'")
        Dim fdr2 As DataRow = DataTables("新表").find("产品id = '" & e.DataRow("产品id") & "' and 起始单价对比 = '最晚'")
        If fdr1 Is Nothing Then
            fdr1 = DataTables("新表").AddNew
            fdr1("产品id") = e.DataRow("产品id")
            fdr1("起始单价对比") = "最早"
        End If
        If fdr2 Is Nothing Then
            fdr2 = DataTables("新表").AddNew
            fdr2("产品id") = e.DataRow("产品id")
            fdr2("起始单价对比") = "最晚"
        End If
        Dim dr1 = e.DataTable.Find("产品id = '" & e.DataRow("产品id") & "'", "日期")
        Dim dr2 = e.DataTable.Find("产品id = '" & e.DataRow("产品id") & "'", "日期 desc")
        If dr1 IsNot Nothing Then
            fdr1("日期") = dr1("日期")
            fdr1("单价") = dr1("单价")
            fdr2("日期") = dr2("日期")
            fdr2("单价") = dr2("单价")
        End If
    Else
        DataTables("新表").deletefor("产品id = '" & e.DataRow("产品id") & "'")

    End If
End If


 回到顶部
美女呀,离线,留言给我吧!
yfy13338431925
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:4492 威望:0 精华:0 注册:2018/12/5 23:10:00
  发帖心情 Post By:2019/4/2 0:22:00 [只看该作者]

甜老师:如果遇到有的日期行是空的,排序的时候成了“最早”,如何避免呢,能不能让列对应的逻辑行不能勾选,或者自动选择下一条最早的

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


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

改成

 

        Dim dr1 = e.DataTable.Find("产品id = '" & e.DataRow("产品id") & "' and 日期 is not null", "日期")
        Dim dr2 = e.DataTable.Find("产品id = '" & e.DataRow("产品id") & "' and 日期 is not null", "日期 desc")


 回到顶部