以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]代码修改(已解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=31726)

--  作者:yyzlxc
--  发布时间:2013/4/19 15:08:00
--  [求助]代码修改(已解决)

 

下面这段按钮代码,是将a表中变动时间最近的单位,填充到b表的对应单元格,如果按小于等于日期输入框时间所在的单位进行填充,代码应该如何修改,请各位老师指教,谢谢!!

 

 

Dim ny As Date
ny = e.Form.Controls("DateTimePicker1").Value
For Each dr As DataRow In DataTables("b").DataRows
    Dim pr As DataRow
    If dr.IsNull("姓名")  Then
        dr("单位") = Nothing
    Else
        pr = DataTables("a").Find("姓名 = \'" & dr("姓名") & "\'", "变动日期 Desc")
        If pr IsNot Nothing Then
            dr("单位") = pr("单位")
        End If
    End If
Next

 

 

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

[此贴子已经被作者于2013-4-19 16:45:53编辑过]

--  作者:Bin
--  发布时间:2013/4/19 15:26:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb


--  作者:yyzlxc
--  发布时间:2013/4/19 15:55:00
--  
谢谢Bin老师的回复,因为我还没有升级到测试版,无法打开文件,还麻烦Bin老师将代码贴上来,谢谢!!
--  作者:yyzlxc
--  发布时间:2013/4/19 16:45:00
--  

 

代码改成如下,可以达到要求,在这里再次谢谢Bin老师的回复。

 

 

Dim rq As Date
rq = e.Form.Controls("DateTimePicker1").Value
For Each dr As DataRow In DataTables("b").DataRows
    Dim pr As DataRow
    If dr.IsNull("姓名")  Then
        dr("单位") = Nothing
    Else
        pr = DataTables("a").Find("姓名 = \'" & dr("姓名") & "\' and 变动日期 <= \'"& rq &"\' ", "变动日期 Desc")
        If pr IsNot Nothing Then
            dr("单位") = pr("单位")
        End If
    End If
Next