Foxtable(狐表)用户栏目专家坐堂 → excel 表中表达式求助


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

主题:excel 表中表达式求助

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


加好友 发短信
等级:婴狐 帖子:26 积分:250 威望:0 精华:0 注册:2011/6/17 17:32:00
  发帖心情 Post By:2011/8/28 17:36:00 [只看该作者]

好像有点问题,我用的是第二种方法,总出现报错,是不是我用的不对啊,在帮我看看吧,

打开狐表后会有一个窗口,单击火地岛员工考勤就可以进入考勤录入界面了。

我的窗口是在对外工资表中做的,进入窗口管理后有一个考勤录入系统就是了,

不知道我做的对不对,反正有点问题,你好人做到底吧,在帮帮我。

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


 回到顶部
美女呀,离线,留言给我吧!
yangming
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/8/28 20:40:00 [只看该作者]

删除你原表属性中的DataColChanged事件中的代码,同步框的代码改成这样

 

Dim r As Row = Tables("考勤").Current
If r("姓名") IsNot Nothing  Then
    Tables("考勤.对外工资").AddNew()
Else
    r("同步")= False
    MessageBox.Show("姓名不能为空", "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
End If


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/29 7:38:00 [只看该作者]

杨版,他那个还有一个办法就是标记,我给忘了,不要加表达式列的.

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


加好友 发短信
等级:婴狐 帖子:26 积分:250 威望:0 精华:0 注册:2011/6/17 17:32:00
  发帖心情 Post By:2011/8/29 9:55:00 [只看该作者]

我试了一下这个办法但是还是有点问题,可能是我太笨了吧,

我现在这个狐表做了6个关联,其中都是按照姓名列做的关联,1:考勤-对外工资,2:考勤-实发工资 3:对外工资-实发工资4:实发工资-临时表5:对外工资-临时表6:考勤-临时表,其中前面的是父表,后面得是子表。

我也不想做这么多关联的,其中对外工资和实发工资是根据考勤来的,实发工资计算的过程中还要用到对外工资中的数据,最后的临时表是将收集考勤,对外工资,实发工资的数据后将临时表填充到工资考勤数据库中。

我想能不能这样,

1:在考勤录入窗口中的姓名能不能绑定到多个表中的姓名列上,这样我这个问题不就都解决了吗。同时在增加行时直接增加后填入姓名就可以了,在删除行时就要删除同名行了。(需要跟随考勤姓名列同步变化的表为,实发工资对外工资,临时表的姓名列)

不知道我的想法好实现吗,

这么麻烦我都不好意思啊,可怜可怜我这个初学者吧,

[此贴子已经被作者于2011-8-29 9:58:18编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/29 9:58:00 [只看该作者]

如果你已经建立关联,那么很简单,除考勤表之外,其他各表的姓名列采用表达式列,直接引用考勤表的姓名列:

 

http://www.foxtable.com/help/topics/0106.htm

 


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


加好友 发短信
等级:婴狐 帖子:26 积分:250 威望:0 精华:0 注册:2011/6/17 17:32:00
  发帖心情 Post By:2011/8/29 10:33:00 [只看该作者]

但是不能用表达式列做关联啊,只能用数据列作吧


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/29 10:37:00 [只看该作者]

如果你是直接用姓名列作关联,请参考:

 

http://www.foxtable.com/help/topics/1644.htm

 


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


加好友 发短信
等级:婴狐 帖子:26 积分:250 威望:0 精华:0 注册:2011/6/17 17:32:00
  发帖心情 Post By:2011/8/29 10:46:00 [只看该作者]

可能是我说的不明白,在几个关联表中已有的姓名中做更改时是所有的关联表都有变化的,这个我知道,

我想说的是在新增加一行的情况下,就必须在每个关联表中都加入姓名才可以。我不想这么麻烦,所以想在考勤表中增加一行时,并填入姓名后,其他的关联表也能自动的增加一行并自动增加与考勤表中增加的姓名相同姓名。

不知道我说的明白不明白,还是我的版本太低了,没这功能啊。

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

[此贴子已经被作者于2011-8-29 10:54:29编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/29 10:56:00 [只看该作者]

可以的,在考勤表的DataColChanged事件设置代码:

 

If e.DataCol.Name = "姓名" Then
    Dim nms() As String  = {"对外工资","实发工资","临时表"}
    For Each nm As stirng In nms
        If e.DataRow.GetChildRows(nm).Count = 0 Then
            Dim  dr As DataRow = DataTables(nm).AddNew()
            dr("姓名")  = e.NewValue
        End If
    Next
End If

 

 


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


加好友 发短信
等级:婴狐 帖子:26 积分:250 威望:0 精华:0 注册:2011/6/17 17:32:00
  发帖心情 Post By:2011/8/29 11:09:00 [只看该作者]

好像还是有问题,我把你的代码复制到事件中后报出了一个错误编辑,意思是string没有定义,在看看好吗


 回到顶部
总数 32 上一页 1 2 3 4 下一页