Foxtable(狐表)用户栏目专家坐堂 → 关于条件取值列方法求教


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

主题:关于条件取值列方法求教

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


加好友 发短信
等级:幼狐 帖子:189 积分:1618 威望:0 精华:0 注册:2013/3/20 6:28:00
关于条件取值列方法求教  发帖心情 Post By:2013/8/20 17:07:00 [只看该作者]

如何让表A中的年绩效分数 等于表B中指定条件下的年绩效分数

条件为: 根据系统当前日期的月份往前推11个月 算出年绩效分数 
例如今天是13年8月份  那么 当年绩效分数就是 去年7月至今年8月的分数累积和

还有一个问题  是否可以自动生成例如表B中的月份列 ,例如 时间到了13年 那么 自动生成13年一月份 二月份 。。。等等这些列

3,表A中有一个本月考核分数(这个实际上是初审分数报上去考核的),是否可以增加一个按钮 当点击这个按钮后 即可根据系统当前日期的月份
自动导入到表B中对应的月份 分数?

 

如何将数字变成中文格式   例如 11 变成 十一 24 变成二十四   我试过帮助中的字符转换格式函数  例如 CLNUM 只能将 11 变成一一

目录树以时间为节点 怎么总是显示 2013-9-12 00:00:00  如何把这种格式的 后面的时间去掉啊 只留日期

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/20 17:25:00 [只看该作者]

1.你这个表结构不科学吧,可以使用SQL查询表 或者使用DataTables("x").Compute统计 http://www.foxtable.com/help/topics/0393.htm

2.最好不要这样做.


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2013/8/20 17:45:00 [只看该作者]

AL列是干什么的?

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2013/8/20 17:47:00 [只看该作者]

咱忙,没时间仔细揣摸,第一个问题大致是这样的。

下面的代码没有统计AL列。

 

Dim d As Date = Date.Today
d = d.AddMonths(-13)
Dim n As Double
For Each dr As DataRow In DataTables("表A").DataRows
    Dim dr1 As DataRow = DataTables("表B").Find("姓名 = '" & dr("姓名") & "'")
    If dr1 IsNot Nothing Then
        n = 0
        For i As Integer = 0 To 13
            n = n + dr1("A" & iif(d.Month + i > 12,d.Year + 1 ,d.Year) & "_" & iif(d.Month + i > 12 ,d.Month + i -12,d.Month + i))
        Next
        dr("当年绩效分数") = n
    End If
Next


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


加好友 发短信
等级:幼狐 帖子:189 积分:1618 威望:0 精华:0 注册:2013/3/20 6:28:00
  发帖心情 Post By:2013/8/20 18:12:00 [只看该作者]

AL列式每一年的累计值 计算的时候不考虑

 回到顶部
美女呀,离线,留言给我吧!
若水三千
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1618 威望:0 精华:0 注册:2013/3/20 6:28:00
  发帖心情 Post By:2013/8/20 18:13:00 [只看该作者]

不科学 那要怎么设计呢  使用SQL查询表是不是需要建立SQL 呢  我用的是ACC的数据库

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


加好友 发短信
等级:幼狐 帖子:189 积分:1618 威望:0 精华:0 注册:2013/3/20 6:28:00
  发帖心情 Post By:2013/8/20 18:14:00 [只看该作者]

以下是引用czy在2013-8-20 17:47:00的发言:

咱忙,没时间仔细揣摸,第一个问题大致是这样的。

下面的代码没有统计AL列。

 

Dim d As Date = Date.Today
d = d.AddMonths(-13)
Dim n As Double
For Each dr As DataRow In DataTables("表A").DataRows
    Dim dr1 As DataRow = DataTables("表B").Find("姓名 = '" & dr("姓名") & "'")
    If dr1 IsNot Nothing Then
        n = 0
        For i As Integer = 0 To 13
            n = n + dr1("A" & iif(d.Month + i > 12,d.Year + 1 ,d.Year) & "_" & iif(d.Month + i > 12 ,d.Month + i -12,d.Month + i))
        Next
        dr("当年绩效分数") = n
    End If
Next

谢谢您的代码  请问 第二个和第三个问题 怎么解决呢


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2013/8/20 19:57:00 [只看该作者]

第二个问题,按钮代码:

 

 

If DataTables("表B").DataCols.Contains("A" & today.Year & "_1")
    MessageBox.Show("已存在" & today.Year & "年的列,不能再增加")
Else
    Dim Builder As New ADOXBuilder
    Builder.Open() '打开ADOXBuilder
    With Builder.Tables("表B")
        For i As Integer = 1 To 12
            .AddColumn("A" & today.Year & "_" & i ,ADOXType.Double)
        Next
        .AddColumn("A" & today.Year & "_AL",ADOXType.Double)
    End With
    Builder.Close()
    syscmd.Project.Open(ProjectFile)
End If


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2013/8/20 20:00:00 [只看该作者]

第三个问题,小意思啦。

按钮代码:

 

For Each dr As DataRow In DataTables("表A").DataRows
    Dim dr1 As DataRow = DataTables("表B").Find("姓名 = '" & dr("姓名") & "'")
    If dr1 IsNot Nothing Then
        dr1("A" & today.Year & "_" & today.Month) = dr("本月考核分数")
    End If
Next


 回到顶部
美女呀,离线,留言给我吧!
若水三千
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1618 威望:0 精华:0 注册:2013/3/20 6:28:00
  发帖心情 Post By:2013/8/20 20:01:00 [只看该作者]

大哥 第三个问题呢  就是 如何 让11变成 十一  而不是一一  谢谢您 受教了
[此贴子已经被作者于2013-8-20 20:03:29编辑过]

 回到顶部
总数 11 1 2 下一页