Foxtable(狐表)用户栏目专家坐堂 → [求助]A表表达式列“现任职级”和“现任职级时间”数据如何导入B表


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

主题:[求助]A表表达式列“现任职级”和“现任职级时间”数据如何导入B表

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


加好友 发短信
等级:婴狐 帖子:18 积分:192 威望:0 精华:0 注册:2020/3/8 16:53:00
[求助]A表表达式列“现任职级”和“现任职级时间”数据如何导入B表  发帖心情 Post By:2020/4/2 22:00:00 [只看该作者]

我建了一个“任职情况表”(表A),输入了历次职务晋升及晋升时间情况,并利用表达式求得了“现任职级”和“现任职级任职时间”两列的值。
有两个问题请教老师:1.表A利用表达式求“现任职级”和“现任职级任职时间”两列的值的方法对吗?是不是有更简单的方法?
                            2.我想把表A中求得的“现任职级”和“现任职级任职时间”两列的值导入表B中,因查询表不能列出表达式列,所以只能建新表表B,那么如何导入呢?用代码的话,在哪个事件内,写入怎样的代码?因为是初学,问的细些,谢谢了。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:任职情况表.zip


[此贴子已经被作者于2020/4/2 22:05:41编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110736 积分:563600 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/2 22:20:00 [只看该作者]

没看懂这种表结构表示的意思。

职级02、职级03这些表达式列是做什么用的?
“现任职级”的计算规则是什么?
IsNull([职级1],[职级1])这里使用IsNull没有任何用处,直接使用“[职级1]”就可以了。但是职级02等于职级1的作用是什么?

如果是我,会设计这种任职情况表,按行记录,只需要查询时间最大的记录就是最新的职级了

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


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


加好友 发短信
等级:婴狐 帖子:18 积分:192 威望:0 精华:0 注册:2020/3/8 16:53:00
  发帖心情 Post By:2020/4/2 23:44:00 [只看该作者]

我刚学,表结构可能不合理,函数用的也可能不对,不好意思,谢谢指点。
我在“职级02”、“职级03”列用函数lsNull([职级1],[职级1)的意思是,如果“职级1”列数据输入为“科员”,则“职级02”列数据为“科员”,如果“职级1”列没输入职务,则“职级02”列为空;同样,如果“职级2”列数据输入为“副主任科员”,则“职级03”列数据为“副主任科员”,如果“职级2”列没输入职务,则“职级03”列为“职级02”列数据仍为“科员”,以此类推到现任职务。隐藏“职级02”、“职级03”等列后也可以直观地看到各个职务及任职时间。
老师设计的“任职情况表”,我在使用Access时用过这样设计的表,交叉查询得出现任职务及任职时间。
在foxtable中,老师设计的“任职情况表”,如果每个人的最大时间的记录都不一样,怎么得出最新职务呢?用什么方法算出每个人的最大时间啊?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110736 积分:563600 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/3 9:22:00 [只看该作者]

1、那么职级02完全没有不要使用IsNull([职级1],[职级1]),直接使用“[职级1]”就可以了。
2、参考:http://www.foxtable.com/webhelp/topics/0158.htm,做分组统计,统计类型取最大值即可

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


加好友 发短信
等级:婴狐 帖子:18 积分:192 威望:0 精华:0 注册:2020/3/8 16:53:00
  发帖心情 Post By:2020/4/3 20:23:00 [只看该作者]

不是只有数值型的列才能进行分组统计吗?任职情况表里没有数值列啊!

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110736 积分:563600 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/5 20:40:00 [只看该作者]

嗯,是的。

可以改为使用sql分组统计,比如
select * from {任职情况表} as a inner join (select 姓名,max(入职时间) as 入职时间 from {任职情况表} group by 姓名) as b on a.姓名 =b.姓名 where a.入职时间 =b.入职时间

 回到顶部