Foxtable(狐表)用户栏目专家坐堂 → [求助]跨表填充,增加判断条件后死机(已解决)


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

主题:[求助]跨表填充,增加判断条件后死机(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2014/4/2 19:58:00 [显示全部帖子]

呵呵,也有第二呀···· ,确有其事,希望狐爸找找原因。。。。

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2014/4/2 21:07:00 [显示全部帖子]

我碰到过lz的问题,这样弄一下就ok了:

························
        pr = DataTables("变动日期").datarows(0)  '  加上这一段
        pr = DataTables("变动日期").Find("编号 = '" & dr("编号") & _
        "' And 变动日期 <= '" & rq & "'","变动日期 Desc")

····························


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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2014/4/3 9:12:00 [显示全部帖子]

呵呵,甜老师:快不了多少。。。

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2014/4/3 13:38:00 [显示全部帖子]

这样试试,我测试可以:


'日期转换
Dim rq As Date = Today()
'删除加班补休填报所有行
DataTables("在册名单").DeleteFor("[编号] Is Not Null ")
MainTable= Tables("在册名单")
'填充编号
Dim f As New Filler
f.SourceTable = DataTables("名册清单") '指定数据来源
f.SourceCols = "编号,入监日期,离监日期" '指定数据来源列
f.DataTable = DataTables("在册名单") '指定数据接收表
f.DataCols = "编号,入监日期,离监日期" '指定数据接收列
f.Filter = "入监日期 <= '" & rq & "' And 离监日期 > '" & rq & "'"
f.Fill() '填充数据
For Each dr As DataRow In DataTables("在册名单").DataRows
    Dim pr As DataRow
    If dr.IsNull("编号") Then
        dr("单位") = Nothing
    Else
        pr = DataTables("变动日期").Find("编号 = '' ")
        pr = DataTables("变动日期").Find("编号 = '" & dr("编号") & _
"' And 变动日期 <= '" & rq & "'","变动日期 Desc")
        If pr IsNot Nothing Then
            dr("监区") = pr("监区")
            dr("单位") = pr("单位")
            dr("变动日期") = pr("变动日期")
        End If
    End If
Next
Tables("在册名单").Sort = "单位,编号"
Tables("在册名单").AutoSizeCols()
Tables("在册名单").Cols.Frozen = 4
Tables("在册名单").ListMode = True
With Tables("在册名单") '返回最末行
    .Position = .Rows.Count - 1
End With


 回到顶部