Foxtable(狐表)用户栏目专家坐堂 → [求助]关联表新增行的问题


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

主题:[求助]关联表新增行的问题

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


加好友 发短信
等级:婴狐 帖子:36 积分:342 威望:0 精华:0 注册:2012/2/20 19:46:00
[求助]关联表新增行的问题  发帖心情 Post By:2015/2/5 17:07:00 [显示全部帖子]

能否实现根据父表筛选出来的行数,在关联表里与父表一一对应的增加一行?

项目事例:父表为企业,子表为租金产生流水,每一个月在租金窗口按一个键全部在关联子表里新增当月的租金明细。

本来已经实现一个企业直接统计出租金月数然后乘以每月租金就得出应交金额,但是公司需要能针对租金进行每月、每年、累计3类进行分类查询汇总。我的直接统计的方法只能实现累计,无法拆分,所以才想在租金产生流水里进行拆分,根据月份生成对应月份的流水(类似电费水费等的收费明细),才能实现公司需要的统计。

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


加好友 发短信
等级:婴狐 帖子:36 积分:342 威望:0 精华:0 注册:2012/2/20 19:46:00
  发帖心情 Post By:2015/2/5 17:28:00 [显示全部帖子]

主要是如何实现例如父表10个企业,然后一键生成这10个企业的指定月份的租金?租金由父表的对应列自动生成。

本来已经在代码里面实现了累计流水,一个企业就1个租金产生流水,表格行数也少。但是为了方便查询统计才进行流水拆分工作。

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


加好友 发短信
等级:婴狐 帖子:36 积分:342 威望:0 精华:0 注册:2012/2/20 19:46:00
  发帖心情 Post By:2015/2/5 18:11:00 [显示全部帖子]

已实现的功能
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新信息系统.table

[此贴子已经被作者于2015-2-5 18:11:34编辑过]

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


加好友 发短信
等级:婴狐 帖子:36 积分:342 威望:0 精华:0 注册:2012/2/20 19:46:00
  发帖心情 Post By:2015/2/6 9:22:00 [显示全部帖子]

我弄的租金流水,只是针对每个企业的每一份合同生成一条流水,租金是根据时间自动算出,如果需要以前的数据,例如需要去年的,就要对流水表进行2次计算。

虽然可以弄成临时表,导入然后计算,但是感觉不合理,因为要统计以前数据这种事情应该是经常发生的,我的想法是根据合同编号,把每份合同一条流水拆分,按月份自动生成指定月份的租金,然后逐条累积就可以了,然后需要查询时只需要筛选对应月份的租金流水,即可统计出需要的信息。

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


加好友 发短信
等级:婴狐 帖子:36 积分:342 威望:0 精华:0 注册:2012/2/20 19:46:00
  发帖心情 Post By:2015/2/6 9:46:00 [显示全部帖子]

现在效果是这样的:


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


想实现的效果是这样的:


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


然后汇总表里直接统计租金列就知道对应的租金汇总了。

[此贴子已经被作者于2015-2-6 9:47:14编辑过]

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


加好友 发短信
等级:婴狐 帖子:36 积分:342 威望:0 精华:0 注册:2012/2/20 19:46:00
  发帖心情 Post By:2015/2/9 10:23:00 [显示全部帖子]

功能已经实现了,有个问题。如何实现相同合同编号下,每月只有一个租金?

如何针对合同编号禁止重复生成同一个月份的租金呢?

生成租金按钮代码:

With Forms("租金生成").Controls("TextBox1")

    If.Value Is Nothing Then

    Messagebox.Show("请输入计租年份")

Else

With Forms("租金生成").Controls("TextBox2")

    If.Value Is Nothing Then

    Messagebox.Show("请输入计租月份")

Else

 

Dim dt1 As DataTable = DataTables("应收租金")

Dim dt2 As DataTable = DataTables("入住主表")

Dim d1 As String = e.Form.Controls("TextBox1").text

Dim d2 As String = e.Form.Controls("TextBox2").text

Dim d As Date = new Date(d1,d2,01)

Dim filter As String = "计租时间 <= #" & d & "#"

For Each dr As DataRow In dt2.Select(filter)

    Dim ndr As DataRow = dt1.AddNew

    If Cdate(dr("计租时间")).Month = d.Month Then

        ndr("租金") = dr("首月")

    Else

        ndr("租金") = dr("每月")

    End If

    ndr("合同编号") = dr("合同编号")

    ndr("记租月份") = format(d"yyyyMM")

Next

 

End If

End With

End If

End With


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


加好友 发短信
等级:婴狐 帖子:36 积分:342 威望:0 精华:0 注册:2012/2/20 19:46:00
  发帖心情 Post By:2015/2/9 11:34:00 [显示全部帖子]

把这个代码加上去后,只能生成一个企业的,不能批量生成。

 Dim ndr As DataRow = dt1.find("记租月份 = '" & format(d, "yyyyMM") & "'")

我在动态表达式中加入合同编号相等的筛选,可是赋值出问题了

 Dim ndr As DataRow = dt1.find("合同编号 =  '" & cz & "' And 记租月份 = '" & format(d, "yyyyMM") & "'")

CZ的赋值是

Dim cz As  String = DataTables("应收租金").GetValues("承租人") 

提示  从类型“List(Of String)”到类型“String”的转换无效。这句应该怎么写呢?

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


加好友 发短信
等级:婴狐 帖子:36 积分:342 威望:0 精华:0 注册:2012/2/20 19:46:00
  发帖心情 Post By:2015/2/9 13:09:00 [显示全部帖子]

OK! 已达到效果。
多谢指导,对代码的理解也增加了。图片点击可在新窗口打开查看

 回到顶部