以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 怎样改进公式?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=185758)

--  作者:wusim
--  发布时间:2023/3/15 7:16:00
--  [求助] 怎样改进公式?
怎样改进公式?

叉车导入数据导入表字段: 工作日期、出厂编号、整改情况
报告情况表字段:检验日期、出厂编号、报告状态

要求:匹配2个表的出厂编号相同,把报告情况表中的“报告状态”的内容填写到导入数据导入表中“报告状态”,由于数据有2年以上的数据,怎样才能只匹配后4个月内数据。
如  出厂编号:121   工作日期:2022年3月1日     检验完成日期(大于等于工作日期):2022年3月10日    整改情况:已整改    这时叉车导入数据导入表的报告状态自动匹配报告情况表报告状态内容
                           今年这台设备的工作日期:2023年3月8      检验完成日期(大于等于工作日期):2022年3月10日    整改情况:已整改   还没有出具报告       这时叉车导入数据导入表的报告状态自动匹配报告情况表报告状态内容是空白
                                    
Dim dt1 As DataTable = DataTables("叉车导入数据")
Dim dt2 As DataTable = DataTables("报告情况")
For Each dr As DataRow In dt1.Select("")
    Dim fdr As DataRow = dt2.Find("出厂编号 = \'" & dr("出厂编号") & "\'","检验日期 desc")
    If fdr IsNot Nothing  Then
        dr("报告状态") = fdr("报告状态")
    End If
Next
[此贴子已经被作者于2023/3/15 7:23:17编辑过]

--  作者:有点蓝
--  发布时间:2023/3/15 8:40:00
--  
后4个月内】具体指什么?从今天开始往前推4个月?

dim d as date = date.today.addmonths(-4)
msgbox(d)
Dim fdr As DataRow = dt2.Find("出厂编号 = \'" & dr("出厂编号") & "\' and 检验日期>=#" & d & "#","检验日期 desc")

--  作者:wusim
--  发布时间:2023/3/15 20:45:00
--  
公式代入不行。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报告状态.rar


 我的是2018版,已过售后时间

图片点击可在新窗口打开查看此主题相关图片如下:2023-03-15_204141.jpg
图片点击可在新窗口打开查看


[此贴子已经被作者于2023/3/16 7:20:20编辑过]

--  作者:有点蓝
--  发布时间:2023/3/16 8:42:00
--  
根据什么条件进行匹配?
--  作者:wusim
--  发布时间:2023/3/16 9:16:00
--  

1、报告情况表与叉车导入数据表  两表出厂编号相同

 

2、报告情况表的检验日期大于等于叉车导入数据表工作日期(当检验日期大于4个月不再匹配)

 

3、叉车导入数据表与报告情况表的出厂编号相同但是在报告情况表的检验日期不能大于等于工作日期也不匹配。


--  作者:有点蓝
--  发布时间:2023/3/16 10:12:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报告状态.zip


--  作者:wusim
--  发布时间:2023/3/16 17:49:00
--  
老师,能不能把代码贴出来,我的是2018年开发版,已过升级时间。
--  作者:有点蓝
--  发布时间:2023/3/16 20:17:00
--  
购买升级服务
--  作者:wusim
--  发布时间:2023/3/16 20:51:00
--  
我是个人用在日常的工作,方便自己提高工作效率,不是专职编程。  哪位同学帮帮忙把代码贴出来。
[此贴子已经被作者于2023/3/17 6:41:21编辑过]