Foxtable(狐表)用户栏目专家坐堂 → [求助]如何修改代码,使取值符合要求(已解决)


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

主题:[求助]如何修改代码,使取值符合要求(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]如何修改代码,使取值符合要求(已解决)  发帖心情 Post By:2013/1/23 15:10:00 [只看该作者]

当表A年月为201201至201203时,单位取值为1;年月为201204至201207时,单位取值为4;年月为201208至201209时;单位取值为8,年月为201209至201210时,单位取值为10。要达到上述要求,以下代码应该如何修改,请各位老师指教。谢谢!

 

'填充单位
Dim pr As DataRow
For Each dr1 As DataRow In DataTables("表A").DataRows
    If dr1.IsNull("编号")  Then
        dr1("单位") = Nothing
    Else
        pr = DataTables("表B").Find("编号 = '" & dr1("编号") & "' And 年月 >= '" & dr1("年月") & "'")
        If pr IsNot Nothing Then
            dr1("单位") = pr("单位")
        Else
            dr1("单位") = Nothing
        End If
    End If
Next

 

 

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

[此贴子已经被作者于2013-1-24 19:38:24编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2013/1/23 15:38:00 [只看该作者]

用>=肯定不对,但是用<=,只能取值1,不符要求。实际就是取小于dr1("年月")数集中的最大值,不知应该如何来实现,请各位老师指教,谢谢。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/23 15:41:00 [只看该作者]

 这样吧,简单处理一下。


Dim pr As DataRow
For Each dr1 As DataRow In DataTables("表A").DataRows
    If dr1.IsNull("编号")  Then
        dr1("单位") = Nothing
    Else
        Dim drs As List(Of datarow) = DataTables("表B").Select("编号 = '" & dr1("编号") & "' And 年月 <= '" & dr1("年月") & "'", "年月 desc")
        if drs.Count > 0 Then
            pr = drs(0)
            dr1("单位") = pr("单位")
        Else
            dr1("单位") = Nothing
        End If
    End If
Next

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2013/1/23 15:56:00 [只看该作者]

谢谢林老师,问题解决了,再次衷心感谢!!

 回到顶部