Foxtable(狐表)用户栏目专家坐堂 → 关于自动复制行相关问题


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

主题:关于自动复制行相关问题

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/27 21:08:00 [只看该作者]

9楼的出错把在职员工表合同年数列改为整数列即可

应聘人员表,DataColChanged
If e.DataCol.Name = "身份证号" Then '如果更改的是身份证号码列
    If e.DataRow.IsNull("身份证号") Then '身份证号码是否为空
        e.DataRow("出生日期") = Nothing '如果为空,则清除出生日期
    Else
        '否则从身份证号码列中提取出生日期
        e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
    End If
End If
If e.DataCol.Name = "入职确认"
    If e.DataRow("入职确认") = True Then
        Dim dr As DataRow = DataTables("在职员工表").Find("身份证号 = '" & e.DataRow("身份证号") & "'")
        If dr Is Nothing Then
            dr = DataTables("在职员工表").AddNew
        Else
            If  MessageBox.Show("已在职,是否更新信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No Then
                Return
            End If
        End If
        
        Dim nma() As String = {"姓名","性别","身份证号","应聘岗位","学历","联系电话","联系地址","照片","入职时间"} 'A表数据来源列
        Dim nmb() As String = {"姓名","性别","身份证号","岗位","学历","联系电话","联系地址","照片","上岗日期"} 'B表数据接收列
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
    Else
        DataTables("在职员工表").deletefor("身份证号 = '" & e.DataRow("身份证号") & "'")
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2018/11/27 21:13:00 [只看该作者]

版主您好!  测试发现表B的  DataColChanged事件里面不能添加代码,有代码就会报错,应该如何调整。  需要表B选择逻辑列后可以复制到表C

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/27 21:20:00 [只看该作者]

和表A复制到表B的用法完全一样,贴出具体代码说明

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/28 10:32:00 [只看该作者]

删除你本来的全部代码,直接拷贝9楼的代码进去啊。

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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2018/11/28 14:30:00 [只看该作者]

版主您好!    表A逻辑列打钩后自动复制该行到表B,表A打钩的那行除管理员其他用户无法编辑,我参照“编辑前进行复杂条件判断"写了代码,
              没有实现功能,那里错误了?

表A 的PrepareEdit事件

If User.Name <> "管理员" Then 
    If e.Col.Name = "入职确认" AndAlso e.Row("入职确认") = True Then
             e.Cancel = True 
        End If
    End If
[此贴子已经被作者于2018/11/28 14:39:03编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/28 15:22:00 [只看该作者]

代码改成

 

If User.Name <> "管理员" Then
    If e.Row("入职确认") = True Then
        e.Cancel = True
    End If
End If


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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2018/11/28 15:31:00 [只看该作者]

谢谢版主!   刚才我一直在修改,把改成这样也可以,比您的代码少了个=True 有什么影响呢?

If User.Name <> "管理员" Then 
            If e.Row("入职确认")  Then 
      e.Cancel = True 
        End If
    End If

还有个问题,我在表里面设置了图片和文件管理列,每次打开项目就自动在边上打开窗口,这个能设置成不自动打开吗?
[此贴子已经被作者于2018/11/28 15:32:22编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/28 15:34:00 [只看该作者]

以下是引用xlrboy在2018/11/28 15:31:00的发言:
 

还有个问题,我在表里面设置了图片和文件管理列,每次打开项目就自动在边上打开窗口,这个能设置成不自动打开吗?

 

在列属性那里设置->列窗口->自动打开->False


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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2018/11/28 15:48:00 [只看该作者]

版主您好!  我还在测试17楼的代码,我想除了管理员可以修改还想加入开发者,写入了如下代码,那里有问题?
  
If User.Name = "管理员" OrElse User.Name = "开发者" Then 
            If e.Row("入职确认") = True  Then 
    Else     
          e.Cancel = True 
        End If
    End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/28 15:51:00 [只看该作者]

If User.Name <> "管理员" andalso User.Name <> "开发者" Then
    If e.Row("入职确认") = True  Then       
        e.Cancel = True
    End If
End If


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