以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]时段比较求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=154711)

--  作者:miaoqingqing
--  发布时间:2020/9/24 15:05:00
--  [求助]时段比较求助
For Each dr As DataRow In DataTables("方法").DataRows
    Dim fdr As DataRow = DataTables("日历").Find("创建日期 = \'" & dr("创建日期") & "\' and 主题 = \'" & dr("主题") & "\' and 开始时间 = \'" & dr("开始时间") & "\' and 修改时间 < \'" & dr("修改时间") & "\'")
    If fdr Is Nothing Then
        fdr = DataTables("日历").addnew
  fdr("修改时间") = dr("修改时间")
        fdr("创建日期") = dr("创建日期")
        fdr("主题") = dr("主题")
        fdr("笔记") = dr("笔记")
        fdr("开始时间") = dr("开始时间")

    End If
Next

修改时间,是日期时间 2018-05-06 18:38:00 时段格式,
上面代码, 修改时间 < \'" & dr("修改时间") & "\' 条件失效,求助

--  作者:有点蓝
--  发布时间:2020/9/24 15:14:00
--  
请上传实例说明
--  作者:miaoqingqing
--  发布时间:2020/9/24 15:28:00
--  回复:(有点蓝)请上传实例说明
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:时段比较失效.foxdb


点击按钮会重复导入,修改时间比较失败

--  作者:有点蓝
--  发布时间:2020/9/24 16:03:00
--  
代码没有问题,用法也没有问题。应该是您自己的逻辑没有理顺,修改时间 < \'" & dr("修改时间") & "\' 条件并没有失效,是因为表格数据没有符合条件的数据。

比如第一次导入修改时间为2018-05-05 09:54:00,那么再判断【修改时间 < \'2018-05-05 09:54:00\'】肯定是不符合条件的,因为【修改时间 = \'2018-05-05 09:54:00\'】

--  作者:miaoqingqing
--  发布时间:2020/9/24 16:23:00
--  回复:(有点蓝)代码没有问题,用法也没有问题。应该...

图片点击可在新窗口打开查看此主题相关图片如下:mmexport1600935486421.png
图片点击可在新窗口打开查看


求助,导入 创建日期 主题 笔记 3列一样。如果 修改时间 更近 才导入。一楼代码重复导入,修改时间 一样的,有误

--  作者:有点蓝
--  发布时间:2020/9/24 16:36:00
--  
怎么样才算是【如果 修改时间 更近 才导入】? -- 这个逻辑没搞清楚。
--  作者:miaoqingqing
--  发布时间:2020/9/24 16:43:00
--  回复:(有点蓝)怎么样才算是【如果 修改时间 更近 才...
已存在前三列一样,修改时间是,昨天
来源表前三列一样,修改时间是,今天,就新增行导入或更新替换昨天的行数据

--  作者:有点蓝
--  发布时间:2020/9/24 17:04:00
--  
For Each dr As DataRow In DataTables("es导出日历").DataRows
    \'Dim fdr As DataRow = DataTables("日历").find("创建日期 = \'" & dr("创建日期") & "\'")
    Dim fdr As DataRow = DataTables("日历").Find("创建日期 = \'" & dr("创建日期") & "\' and 主题 = \'" & dr("主题") & "\'  and 开始时间 = \'" & dr("开始时间") & "\' and 修改时间 <= \'" & dr("修改时间") & "\'","修改时间 desc")
    If fdr Is Nothing Then
        fdr = DataTables("日历").addnew
    ElseIf fdr("修改时间") = dr("修改时间")
        Continue For
    End If
    fdr("创建日期") = dr("创建日期")
    fdr("主题") = dr("主题")
    fdr("修改时间") = dr("修改时间")
    fdr("笔记") = dr("笔记")
    fdr("开始时间") = dr("开始时间")
    fdr("结束时间") = dr("结束时间")
    fdr("位置") = dr("位置")
    fdr("分类") = dr("分类")
    fdr("标签") = dr("标签")
    fdr("优先级") = dr("优先级")
    fdr("完成") = dr("完成")
    fdr("已完成") = dr("已完成")
    fdr("提醒") = dr("提醒")
    fdr("重复") = dr("重复")
    fdr("持续时间") = dr("持续时间")
    fdr("附件") = dr("附件")
    fdr("条目类型") = dr("条目类型")
    
Next

--  作者:miaoqingqing
--  发布时间:2020/9/24 17:27:00
--  回复:(有点蓝)For Each dr As DataRow In DataTabl...
再求助,如果不是是更新替换之前的行,而是再新增一行,修改时间,不一样,上楼代码怎么修改。?
--  作者:有点蓝
--  发布时间:2020/9/24 17:41:00
--  
For Each dr As DataRow In DataTables("es导出日历").DataRows
        fdr = DataTables("日历").addnew
    fdr("创建日期") = dr("创建日期")
fdr("修改时间") = date.now
……