Foxtable(狐表)用户栏目专家坐堂 → [求助]复制


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

主题:[求助]复制

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


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
[求助]复制  发帖心情 Post By:2023/12/5 8:31:00 [只看该作者]

老师好,在下面的代码中进一步设置当表A退勾后后面三个表的数据也能同时删除,另外表A重置审核列时不重复复制数据到三个表中。谢谢老师.
    
If e.DataCol.Name = "审核" AndAlso e.DataRow("审核") = True Then
    Dim nma() As String = {"项目","项目ID","抄表日期","时段","年","月份"} 'A表数据来源列
    Dim nmb() As String = {"项目","项目ID","抄表日期","时段","年","月份"} '原材料数据接收列
    Dim nmc() As String = {"项目","项目ID","抄表日期","时段","年","月份"} '原材料数据接收列
    Dim nmd() As String = {"项目","项目ID","抄表日期","时段","年","月份"} '原材料数据接收列

    Dim dr3 As DataRow = DataTables("一号楼").AddNew
    Dim dr1 As DataRow = DataTables("二号楼").AddNew
    Dim dr2 As DataRow = DataTables("三号楼").AddNew

    For i As Integer = 0 To nma.Length - 1
        dr3(nmb(i)) = e.DataRow(nma(i))
        dr1(nmc(i)) = e.DataRow(nma(i))
        dr2(nmd(i)) = e.DataRow(nma(i))
    Next
End If





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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/5 8:38:00 [只看该作者]

If e.DataCol.Name = "审核" 
if e.DataRow("审核") = True Then
Dim dr3 As DataRow = DataTables("一号楼").find("项目ID=" & e.DataRow("项目ID") & "'")
    if dr3 is nothing then
    Dim nma() As String = {"项目","项目ID","抄表日期","时段","年","月份"} 'A表数据来源列
    Dim nmb() As String = {"项目","项目ID","抄表日期","时段","年","月份"} '原材料数据接收列
    Dim nmc() As String = {"项目","项目ID","抄表日期","时段","年","月份"} '原材料数据接收列
    Dim nmd() As String = {"项目","项目ID","抄表日期","时段","年","月份"} '原材料数据接收列

    dr3  = DataTables("一号楼").AddNew
    Dim dr1 As DataRow = DataTables("二号楼").AddNew
    Dim dr2 As DataRow = DataTables("三号楼").AddNew

    For i As Integer = 0 To nma.Length - 1
        dr3(nmb(i)) = e.DataRow(nma(i))
        dr1(nmc(i)) = e.DataRow(nma(i))
        dr2(nmd(i)) = e.DataRow(nma(i))
    Next
    end if
else
DataTables("一号楼").deletefor("项目ID=" & e.DataRow("项目ID") & "'")
DataTables("二号楼").deletefor("项目ID=" & e.DataRow("项目ID") & "'")
end if
End If

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


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
  发帖心情 Post By:2023/12/5 9:10:00 [只看该作者]

老师,上面代码报错。




.NET Framework 版本:2.0.50727.9174
Foxtable 版本:2017.4.22.1
错误所在事件:表,电气费用记录,DataColChanged
详细错误信息:
调用的目标发生了异常。
表达式包含无效的字符串常量: '。

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/5 9:23:00 [只看该作者]

打少一个单引号

("项目ID='" & e.DataRow("项目ID") & "'")

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


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
  发帖心情 Post By:2023/12/5 9:31:00 [只看该作者]

谢谢老师

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


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
  发帖心情 Post By:2023/12/6 8:06:00 [只看该作者]

老师好,下面代码重置“审核”列后复制的三张表数据都删除了,我的意思是要对重置命令失效。谢谢



以下是引用有点蓝在2023/12/5 8:38:00的发言:
If e.DataCol.Name = "审核" 
if e.DataRow("审核") = True Then
Dim dr3 As DataRow = DataTables("一号楼").find("项目ID=" & e.DataRow("项目ID") & "'")
    if dr3 is nothing then
    Dim nma() As String = {"项目","项目ID","抄表日期","时段","年","月份"} 'A表数据来源列
    Dim nmb() As String = {"项目","项目ID","抄表日期","时段","年","月份"} '原材料数据接收列
    Dim nmc() As String = {"项目","项目ID","抄表日期","时段","年","月份"} '原材料数据接收列
    Dim nmd() As String = {"项目","项目ID","抄表日期","时段","年","月份"} '原材料数据接收列

    dr3  = DataTables("一号楼").AddNew
    Dim dr1 As DataRow = DataTables("二号楼").AddNew
    Dim dr2 As DataRow = DataTables("三号楼").AddNew

    For i As Integer = 0 To nma.Length - 1
        dr3(nmb(i)) = e.DataRow(nma(i))
        dr1(nmc(i)) = e.DataRow(nma(i))
        dr2(nmd(i)) = e.DataRow(nma(i))
    Next
    end if
else
DataTables("一号楼").deletefor("项目ID=" & e.DataRow("项目ID") & "'")
DataTables("二号楼").deletefor("项目ID=" & e.DataRow("项目ID") & "'")
end if
End If


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/6 8:33:00 [只看该作者]

首先,没有办法判断是重置的还是录入的。可以先把删除的代码先去掉,重置后再加回来。

其次,1楼不是说【当表A退勾后后面三个表的数据也能同时删除】,数据被删除,说明审核没有被勾选呀,不是符合预期么?

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


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
  发帖心情 Post By:2023/12/6 8:56:00 [只看该作者]

老师,原则上是不会重置也不会重复勾选就怕误操作。

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/6 9:06:00 [只看该作者]

怕误操作就增加一个对话框,提示用户:http://www.foxtable.com/webhelp/topics/0326.htm

 回到顶部