Foxtable(狐表)用户栏目专家坐堂 → 在有效期内每行的年月自动增长


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

主题:在有效期内每行的年月自动增长

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/18 12:08:00 [显示全部帖子]


Dim d1 As Date = Tables("表A").Current("开始日期")
Dim d2 As Date = Tables("表A").Current("结束日期")

d1 = new Date(d1.Year,d1.Month,1)
d2 = new Date(d2.Year,d2.Month,Date.DaysInMonth(d2.Year,d2.Month))
Dim dr As DataRow
Do While d1 < d2
    dr = DataTables("表B").AddNew()
    dr("第三列") = Format(d1,"yyyy.MM")
    d1 = d1.AddMonths(1)
Loop

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/18 16:58:00 [显示全部帖子]

看懂代码,改为自己的表名和列名。不会就上传项目

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/19 10:08:00 [显示全部帖子]

Dim d1 As Date = Tables("合同管理").Current("起始日")
Dim d2 As Date = Tables("合同管理").Current("终止日")

d1 = new Date(d1.Year,d1.Month,1)
d2 = new Date(d2.Year,d2.Month,Date.DaysInMonth(d2.Year,d2.Month))
Dim dr As DataRow
DataTables("应实收记录").StopRedraw
Do While d1 < d2
    dr = DataTables("应实收记录").AddNew
    dr("合同号") = Tables("合同管理").Current("合同号")
    dr("年月") = Format(d1,"yyyy.MM")
    d1 = d1.AddMonths(1)
Loop
DataTables("应实收记录").ResumeRedraw

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/19 11:05:00 [显示全部帖子]

datacolchanged这样

Dim dr As DataRow = e.DataRow
        If dr.IsNull("起始日") = False AndAlso dr.IsNull("终止日") = False Then
            Dim d1 As Date = dr("起始日")
            Dim d2 As Date = dr("终止日")
            
            d1 = new Date(d1.Year,d1.Month,1)
            d2 = new Date(d2.Year,d2.Month,Date.DaysInMonth(d2.Year,d2.Month))
            Dim dr2 As DataRow
            DataTables("应实收记录").StopRedraw
            Do While d1 < d2
                dr2 = DataTables("应实收记录").AddNew
                dr2("合同号") = dr("合同号")
                dr2("年月") = Format(d1,"yyyy.MM")
                d1 = d1.AddMonths(1)
            Loop
        End If
        DataTables("应实收记录").ResumeRedraw

这2个时间有变化或者重置列才会起效

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/19 11:58:00 [显示全部帖子]

我测试没有问题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:房产租赁管理.foxdb


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/19 15:44:00 [显示全部帖子]

不要在关联表看,到子表看,我的代码没有对“收租方式”赋值,自己加上

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/21 11:35:00 [显示全部帖子]

你想要做什么?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/21 11:57:00 [显示全部帖子]

Case "起始日","终止日"
    Dim dr As DataRow = e.DataRow
    If dr.IsNull("起始日") = False AndAlso dr.IsNull("终止日") = False Then
        Dim d1 As Date = dr("起始日")
        Dim d2 As Date = dr("终止日")
        
        d1 = new Date(d1.Year,d1.Month,1)
        d2 = new Date(d2.Year,d2.Month,Date.DaysInMonth(d2.Year,d2.Month))
        Dim dt2 As DataTable = DataTables("应实收记录")
        Dim dr2 As DataRow
        DataTables("应实收记录").StopRedraw
        
        Do While d1 < d2
            Dim ny As String = Format(d1,"yyyy.MM")
            dr2  = dt2.Find("合同号 = '" & dr("合同号") & "' and 年月 = '" & ny & "'")
            If dr2 Is Nothing Then
                dr2 = dt2.AddNew
                'dr2 = DataTables("应实收记录").AddNew
                dr2("合同号") = dr("合同号")
                dr2("收租方式") = dr("收租方式")
                dr2("年月") = ny
            End If
            d1 = d1.AddMonths(1)
        Loop
    End If
    DataTables("应实收记录").ResumeRedraw
    

 回到顶部