Foxtable(狐表)用户栏目专家坐堂 → [原创请教:]如何将每列的最新数据获取出来,形成一个最新的列表


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

主题:[原创请教:]如何将每列的最新数据获取出来,形成一个最新的列表

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 8:34:00 [显示全部帖子]

图片上传才能看的到,粘贴不行。

最好上传个实例。


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 10:39:00 [显示全部帖子]

还是思路有问题:

人员信息表(哪来的固定?)

人员信息变动表

 

人员信息表中,每个人员赋与一个不重复的编号,或者人员姓名后面加括号,注明重名者的差别,以使姓名唯一。

人员信息变动表中,人员姓名或编号,必须取自人员信息表。

人员信息变动表中的每一个与人员信息表相同的列,只要值有变动,人员信息表相对应的列就更新为最新的列值。

人员信息表中的信息,就是最新的信息,而且每个人永远只有一行。

用不着第三张表了。

[此贴子已经被作者于2013-8-2 10:42:48编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 11:26:00 [显示全部帖子]

看你实际需要而定。

也可能你想把人员信息表,一分为二。一个记录相对固定不变的信息,另一个记录有可能变动的信息,总之,一个人在一张表中就一条记录。

你的人员信息变动表,主要作用是,跟踪详细的变动过程。

不管是两张表,还是三张表,都是通过唯一的人员编号或姓名关联。

[此贴子已经被作者于2013-8-2 11:26:48编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 11:37:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:由变动情况表生成最新情况表的设计方法求助.table


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 13:00:00 [显示全部帖子]

1、人员信息表,是非常基础的表,不是什么人都能看到,更不是什么人都能修改;引用这个表的代码非常多,一招不慎,满盘皆输。

     即使某个人员离开本单位,他的信息也不能删除,而是在一个“停用”的逻辑列中打上钩。

     由于人员信息变动表的每一次变动都反应到人员信息表中,人员信息变动表的操作,也需要专门的权限。

2、人员信息变动表,记录变动的过程,只要保存,任何人都不允许修改、删除,不然还算得上跟踪吗?要修改相关人员信息,就新增一行。


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 13:55:00 [显示全部帖子]

历史错了,就错了,篡改是不行的。

只要人员信息表对,就行。


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 14:12:00 [显示全部帖子]

呵呵,我想起来了,你这个人员变动信息表,目的是记录人员变动,而不是对人员信息变动的操作。

If e.DataRow.RowState = DataRowState.Added Then
    Dim dr As DataRow = DataTables("人员固定信息表").Find("姓名 = '" & e.DataRow("姓名") & "'")
    Select Case e.DataCol.Name
        Case = "职务"
            dr("职务") = e.DataRow("职务")
    End Select
End If


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 14:57:00 [显示全部帖子]

新增行不一定就是最后一行,只要新增的未保存,不管多少行,都仍然是新增行。


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 15:02:00 [显示全部帖子]

如果你对是否更新非常执着,可以在人员信息变动表中加一逻辑列:更新人员信息表。

打钩(True)就更新,不打钩(False)就不更新。

这就不需要判断行的状态。

[此贴子已经被作者于2013-8-2 15:14:14编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/2 15:53:00 [显示全部帖子]

判断、操作,越简单越好:

更新人员信息表,打钩就更新,不打钩就不更新。

每次修改,都更新所有相关列,只不过有的列数据并没有改动,实际效果是没有更新,改动过的列,才是真正更新了。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:由变动情况表生成最新情况表的设计方法求助.table

[此贴子已经被作者于2013-8-2 15:52:58编辑过]

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