Foxtable(狐表)用户栏目专家坐堂 → 关联表的问题


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

主题:关联表的问题

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/7/31 20:46:00 [显示全部帖子]

以下是引用forwork在2009-7-31 18:23:00的发言:

我要这种效果,我简化了一下表,你看一下嘛

 下载信息  [文件大小:1.3 MB  下载次数:3]
图片点击可在新窗口打开查看点击浏览该文件:财富中心工作考勤系统.table

没看懂~   图片点击可在新窗口打开查看
工作考勤记录表  工作编号标题表 有什么联系? 数据对应关系?

[此贴子已经被作者于2009-7-31 20:48:20编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/7/31 21:24:00 [显示全部帖子]

Dim Sm As single
Sm = Tables("retable").Compute("Sum(工作用时)", "报告人 = '" & tables("totaltable").current("报告人") & "' and 加班 = false ")  
tables("totaltable").current("正班累计用时") = sm
Sm = Tables("retable").Compute("Sum(工作用时)", "报告人 = '" & tables("totaltable").current("报告人") & "' and 加班 = true ")  
tables("totaltable").current("加班累计用时") = sm

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/7/31 22:59:00 [显示全部帖子]

你的代码放在哪?   还有你那个标题是什么个定性?  两个表的标题内容也不一致???

[此贴子已经被作者于2009-7-31 23:07:29编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/7/31 23:13:00 [显示全部帖子]

以下是引用forwork在2009-7-31 23:08:00的发言:

我用的按钮,然后写的它的单击事件...标题是用的表达式列

两个表的标题列都不是表达式列啊~   还有两个表相同的报告人怎么都会是多行都有呢?  到底是按报告人统计还是有什么其他条件?


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
测试版  发帖心情 Post By:2009/7/31 23:28:00 [显示全部帖子]

以下是引用forwork在2009-7-31 23:18:00的发言:
我这里是按报告人统计的。。
主要是用来统计报告人工作进度,每天写他的工作进度,就有相同的报告人多行的情况了啊...有什么好的意见吗

你应该以工作编号标题表为主表,这样主表上的报告人就只占一行就可以了,然后在datacolchanged事件中设置代码,当输入 计划总用工时 后,就会自动计算了. 代码如下:   下面三列也要改为数字列(不要表达式列,因为不会保存的)


If e.DataCol.Name = "计划总用工时" Then
    If e.datarow.IsNull("计划总用工时") Then
        e.datarow("正班累计用时") = Nothing
        e.datarow("加班累计用时") = Nothing
        e.datarow("已累计用时") = Nothing
    Else
       
        Dim Sm As single
        Sm = Tables("retable").Compute("Sum(工作用时)", "报告人 = '" & e.datarow("报告人") & "' and 加班 = false")
        e.datarow("正班累计用时") = sm
        Sm = Tables("retable").Compute("Sum(工作用时)", "报告人 = '" & e.datarow("报告人") & "' and 加班 = true")
        e.datarow("加班累计用时") = sm
        e.datarow("已累计用时") = e.datarow("正班累计用时")+e.datarow("加班累计用时")
    end if
end if

[此贴子已经被作者于2009-7-31 23:54:35编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/7/31 23:40:00 [显示全部帖子]

以下是引用forwork在2009-7-31 23:28:00的发言:
是能计算,但是有时计算不了,有时候又能计算..就像六脉神剑一样...
而且保存不了,下次近来的时候计算过的数据又没有了

请从新看30楼. 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:财富中心工作考勤系统.table

[此贴子已经被作者于2009-7-31 23:59:15编辑过]

 回到顶部