Foxtable(狐表)用户栏目专家坐堂 → 跨表生成对应行


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

主题:跨表生成对应行

美女呀,离线,留言给我吧!
liu1992
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
跨表生成对应行  发帖心情 Post By:2016/5/16 16:45:00 [只看该作者]

表A是合同管理,已有一些数据和逻辑,表B是本期开piao数及到账金额。

条件:收款方式四种(月收、两月收、季收、年收)
         状态(生效、失效)

希望:通过判断当前月份及表A中合同状态是“生效”的行,找出本月需要开piao的行,然后在表B自动生成所找到的行数据

 


1月:月收、两月收、季收的行需要筛选出,然后到表B中生成
2月:月收
3月:月收、两月收
4月:月收、季收
5月:月收、年收
6月:月收
7月:月收、两月收、季收
8月:月收
9月:月收、两月收
10月:月收、季收
11月:月收、两月收
12月:月收


[此贴子已经被作者于2016/5/27 10:48:15编辑过]

 回到顶部
美女呀,离线,留言给我吧!
liu1992
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
  发帖心情 Post By:2016/5/16 16:46:00 [只看该作者]

请老师指教和解答!

 回到顶部
美女呀,离线,留言给我吧!
liu1992
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
  发帖心情 Post By:2016/5/16 16:49:00 [只看该作者]

密码:catic123
[此贴子已经被作者于2016/5/16 16:52:01编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/16 17:02:00 [只看该作者]

Dim dt1 As DataTable = DataTables("合同管理")
Dim dt2 As DataTable = DataTables("本期开piao")

Dim arys() As String = {"月收,两月收,季收", "月收", "", "", "月收,年收", "", "", "", "", "", "", ""}
Dim filter As String = "收租方式 in ('" & arys(Date.Today.Month-1).replace(",", "','") & "')"
msgbox(filter)
dt2.DataRows.Clear
For Each dr As DataRow In dt1.Select(filter)
    Dim ndr As DataRow = dt2.AddNew
    ndr("合同号") = dr("合同号")
    ndr("收款方式") = dr("收租方式")
Next


 回到顶部
美女呀,离线,留言给我吧!
liu1992
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
  发帖心情 Post By:2016/5/17 10:26:00 [只看该作者]

老师,这句Dim filter As String = "收租方式 in ('" & arys(Date.Today.Month-1).replace(",", "','") & "')"    是判断当前收租方式类型的语句,总是出现,不管是在填数据、新增行,或者是打开项目的时候,总是会出现,而且是多次,要点击多次后才可以。

如何优化啊?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/17 10:31:00 [只看该作者]

1、这句代码去掉

 

msgbox(filter)

 

2、4楼的代码,单独写到一个按钮里面去,不要写在你的表事件里面啊。


 回到顶部
美女呀,离线,留言给我吧!
liu1992
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
  发帖心情 Post By:2016/5/17 15:09:00 [只看该作者]

老师,现在打开项目的时候,表B 的数据重新计算了一次,被原先修改后的数据替换了。

请问怎么做到,如果表B已经有此行数据,就不要再生成该条数据了?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/17 15:15:00 [只看该作者]

Dim dt1 As DataTable = DataTables("合同管理")
Dim dt2 As DataTable = DataTables("本期开piao")

Dim arys() As String = {"月收,两月收,季收", "月收", "", "", "月收,年收", "", "", "", "", "", "", ""}
Dim filter As String = "收租方式 in ('" & arys(Date.Today.Month-1).replace(",", "','") & "')"

For Each dr As DataRow In dt1.Select(filter)
    Dim ndr As DataRow = dt2.Find("合同号 = '" & dr("合同号") & "'")
    If ndr Is Nothing Then ndr = dt2.AddNew
    ndr("合同号") = dr("合同号")
    ndr("收款方式") = dr("收租方式")
Next


 回到顶部
美女呀,离线,留言给我吧!
liu1992
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
  发帖心情 Post By:2016/5/20 15:21:00 [只看该作者]

老师,现在条件有些许变动。每个月动态生成的数据,然后在这些行里面添加和修改空格,但是前面有设定:如果表中已经有对应的数据就不会再生成新的行,所以6月就不能再重新生成新的数据行了。
简单的来说,就是判断数据行如果不一样的话,需要生成新的一行数据。请老师指教,要怎么改呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/20 15:22:00 [只看该作者]

看8楼。根据合同号判断是否存在啊

 回到顶部
总数 24 1 2 3 下一页