Foxtable(狐表)用户栏目专家坐堂 → 这样子刷新,每次都会等待很长一段时间,求帮助?


  共有2359人关注过本帖平板打印复制链接

主题:这样子刷新,每次都会等待很长一段时间,求帮助?

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
这样子刷新,每次都会等待很长一段时间,求帮助?  发帖心情 Post By:2020/3/2 10:19:00 [只看该作者]

已知:“入库表”与“客户表”,关于“客户”列建立了关联,现在“客户表”的DataColChanged事件中写入以下代码:

If e.DataCol.name = "用户名" Or e.DataCol.name = "编辑者" Then
    Return
Else
    '表中任意一列的行数据发生改变,则执行.
    e.DataRow("用户名") = user.name
End If

'表中指定列的行数据发生改变,则执行.
Select Case e.DataCol.Name
    Case "客户"
        e.DataRow("日志时间") = Date.Now
End Select

Dim d As Date = Date.Now
DataTables("客户表").ReplaceFor("日志", True, "日志时间 <= #" & d.AddMinutes(-2) & "#")
DataTables("客户表").ReplaceFor("日志", False, "日志时间 > #" & d.AddMinutes(-2) & "#")

'没做天数:
If e.DataCol.name = "客户" Then
    If e.DataRow.IsNull("客户")  Then
        e.DataRow("没做天数") = Nothing
    Else
        Dim fdr = DataTables("入库表").find("客户='" & e.DataRow("客户") & "' and 入库日期 <= #" & Date.now & "#", "入库日期 desc")
        If fdr Is Nothing Then
            e.DataRow("没做天数") = -1
        Else
            Dim sp As TimeSpan = Date.now - cdate(fdr("入库日期"))
            e.DataRow("没做天数") = sp.TotalDays
        End If
    End If
End If

需求:
刷新每个客户最新一笔入库日期,至今的日期差,即“没做天数”。

本人现在的做法:
新建一个控件按钮,代码如下:
'没做天数:
    DataTables("客户表").datacols("客户").RaiseDataColChanged()

问题:
这样子刷新,每次都会等待很长一段时间,求帮助?

 回到顶部