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


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

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

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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
关于自动复制行相关问题  发帖心情 Post By:2018/11/27 11:02:00 [显示全部帖子]

您好!   自动复制行代码已经配置成功,但是发现以下问题,如果不小心点错了逻辑列,就会把不需要的行也复制到表B里面了,如何加个提示呢;
          还有就是如果逻辑列的√去掉就自动删除表B里面的行呢,怎么实现。
          我在论坛搜索了相关帖子有以下代码,
          
If e.DataCol.Name = "逻辑列名" AndAlso e.DataRow("逻辑列名") = True Then
    Dim dr As DataRow = DataTables("表B").Find("编号 = '" & e.DataRow("编号") & "'")
    If dr Is Nothing Then
        dr = DataTables("表B").AddNew
    End If

    For Each dc As DataCol In DataTables("表B").DataCols
        dr(dc.Name) = e.DataRow(dc.Name)
    Next
End If


第二句里面的编号是什么意思,代表什么。

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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2018/11/27 14:23:00 [显示全部帖子]

版主您好!   按照您给的代码写入后发生错误如下
 
.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2018.9.9.1
错误所在事件:表,在职员工表,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“”到类型“Integer”的转换无效。
输入字符串的格式不正确。

.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2018.9.9.1
错误所在事件:表,应聘人员表,DataColChanged
详细错误信息:
调用的目标发生了异常。
列“编号”不属于表 应聘人员表。

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




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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2018/11/27 15:15:00 [显示全部帖子]

版主您好!    按照4楼的代码写入错误依旧, 取消√表B的新增行没有自动删除。  代码中的编号指的是什么呢?
.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2018.9.9.1
错误所在事件:表,在职员工表,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“”到类型“Integer”的转换无效。
输入字符串的格式不正确。

.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2018.9.9.1
错误所在事件:表,应聘人员表,DataColChanged
详细错误信息:
调用的目标发生了异常。
列“编号”不属于表 应聘人员表。


  



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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2018/11/27 15:55:00 [显示全部帖子]

版主您好!  还是和原来问题一样,我把项目放上来了,您看看。  能解释一下代码中编号的意思吗?没看明白。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:rx人事管理181127.rar


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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2018/11/27 20:46:00 [显示全部帖子]

版主您好!   去掉逻辑列的勾后表B的新增行自动删除了,但是勾选逻辑列的时候还有一下报错。

.NET Framework 版本:2.0.50727.8766
Foxtable 版本:2018.9.9.1
错误所在事件:表,在职员工表,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“”到类型“Integer”的转换无效。
输入字符串的格式不正确。

Dim dr As DataRow = DataTables("在职员工表").Find("身份证号 = '" & e.DataRow("身份证号") & "'")
这个代码是什么意思呢,为什么要把编号改为身份证号呢?


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


加好友 发短信
等级:幼狐 帖子:134 积分:996 威望:0 精华:0 注册:2018/9/13 16:41:00
  发帖心情 Post By:2018/11/27 20:50:00 [显示全部帖子]

版主你好!  如果想在勾选逻辑列自动复制前面加个确认提示应该怎么做呢?比如勾选时弹出提示 是否把该人员复制到表B,点确认就复制,点否就放弃。

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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
xlrboy
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xlrboy
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xlrboy
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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