Foxtable(狐表)用户栏目专家坐堂 → [求助]计件工资录入


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

主题:[求助]计件工资录入

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


加好友 发短信
等级:童狐 帖子:272 积分:2318 威望:0 精华:0 注册:2011/7/14 16:23:00
[求助]计件工资录入  发帖心情 Post By:2011/10/4 16:43:00 [只看该作者]

由于一个人要做几个工序,所以我要设计以下功能

 

如: 姓名    工序               数量

       张三    R1,R2,R3

输入工序后自动变成:

       姓名    工序               数量

      张三    R1        

      张三    R2    

      张三    R3

 

所以,我在ValidateEdit里加了以下代码

 

If e.Col.Name = "工序" Then
    If e.Text.Contains(",") Then
        Dim Values() As String
        Values = e.Text.split(",")
        e.Text = Values(0)
        Dim cr As Row = e.Row
        Dim Ar As Row
        For Index As Integer = 1 To Values.Length - 1
            Ar = Tables("计件表").InsertNew
            Ar("日期") = cr("日期")
            Ar("令号") = cr("令号")
            Ar("部门") = cr("部门")
            Ar("姓名") = cr("姓名")
            Ar("工种") = cr("工种")
            Ar("工序") = Values(Index)
        Next
    End If
End If

 

 

 

但是运行就自动跳出了。。。。我试了下把Tables("计件表").InsertNew改为DataTables("计件表").AddNew可以,但是那个加行加在最后面。。

谁帮我改改代码啊


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


加好友 发短信
等级:童狐 帖子:272 积分:2318 威望:0 精华:0 注册:2011/7/14 16:23:00
  发帖心情 Post By:2011/10/4 17:06:00 [只看该作者]

谁帮帮我啊,我想了半天都没想出来哪里错了,,

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


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

发狐表文件上来看看吧,也可以另加一列排序列,通过排序来达到插入行的效果

[此贴子已经被作者于2011-10-4 18:10:17编辑过]

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


加好友 发短信
等级:童狐 帖子:272 积分:2318 威望:0 精华:0 注册:2011/7/14 16:23:00
  发帖心情 Post By:2011/10/5 11:56:00 [只看该作者]

我试了,上面的代码是死循环,但我想不明白怎么就死循环le。。


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2011/10/5 11:58:00 [只看该作者]

你把例子上传来,大家一起看看才可以诊断,光凭几个数据确实很难细致帮助你的。

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


加好友 发短信
等级:幼狐 帖子:54 积分:571 威望:0 精华:0 注册:2011/10/2 13:50:00
  发帖心情 Post By:2011/10/5 12:18:00 [只看该作者]

 For Index As Integer = 1 To Values.Length - 1
            Ar = Tables("计件表").InsertNew
            Ar("日期") = cr("日期")
            Ar("令号") = cr("令号")
            Ar("部门") = cr("部门")
            Ar("姓名") = cr("姓名")
            Ar("工种") = cr("工种")
            Ar("工序") = Values(Index)
Next

这段就是一个死循环啊,每插入一行,Values.Length - 1的值也会增加啊


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


加好友 发短信
等级:童狐 帖子:272 积分:2318 威望:0 精华:0 注册:2011/7/14 16:23:00
  发帖心情 Post By:2011/10/5 13:46:00 [只看该作者]

我搞明白了,,楼上的说错了,上面的不是死循环

下面的是死循环了

If e.Col.Name = "工序" Then
    If e.Text.Contains(",") Then
        Dim Values() As String
        Values = e.Text.split(",")
        e.Text = Values(0)
        Dim cr As Row = e.Row
        Dim Ar As Row
        For Index As Integer = 1 To Values.Length - 1

因为

Ar = Tables("计件表").InsertNew
插入行会改变Current,离开编辑单元格,但是ValidateEdit里的代码还没完成,,


 回到顶部