Foxtable(狐表)用户栏目专家坐堂 → [求助] 自动复制行到其他表


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

主题:[求助] 自动复制行到其他表

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 自动复制行到其他表  发帖心情 Post By:2015/1/19 20:47:00 [显示全部帖子]

我希望能有【操作日志】功能;即希望能够在对【表A】数据进行修改和删除行时,将被修改和准备删除的行内容复制到【表B】中;我的命令该怎么写?

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/20 10:15:00 [显示全部帖子]

怎样打开 操作日志.table  文件?


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/20 18:07:00 [显示全部帖子]

我的项目为什么有些表可以”复制表“而有些表进行”复制表“时,点击【确定】按钮后一点反应都没有?我的表都是SQL外部表
图片点击可在新窗口打开查看此主题相关图片如下:360截图20150120180922187.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/20 19:40:00 [显示全部帖子]

我在表的DataColChanged中写有以下命令,希望在当前表的内容被修改时,能够在日志表中自动添加一条记录;但是不希望在当前行为新增行时也添加记录。我的命令该怎么修改?

Dim dr As DataRow = DataTables("日志系统注册信息表").AddNew
For Each dc As DataCol In DataTables("日志系统注册信息表").DataCols
    ' dr(dc.Name) = e.DataRow(dc.Name)
    dr("分公司") = e.DataRow("分公司")
    dr("姓名") = e.DataRow("姓名")
    dr("所属部门") = e.DataRow("所属部门")
    dr("联系电话") = e.DataRow("联系电话")
    dr("电脑类别") = e.DataRow("电脑类别")
    dr("机器码") = e.DataRow("机器码")
    dr("使用授权") = e.DataRow("使用授权")
    dr("启用日期") = e.DataRow("启用日期")
    dr("截止日期") = e.DataRow("截止日期")
    dr("操作记录_增加日期") = e.DataRow("操作记录_增加日期")
    dr("操作记录_修改人员") = e.DataRow("操作记录_修改人员")
    dr("操作记录_修改日期") = e.DataRow("操作记录_修改日期")
    
    dr("日志记录_主键") = e.DataRow("_Identify")
    dr("日志记录_操作类型") ="修改数据"
   
    
Next

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/20 20:06:00 [显示全部帖子]

这样好像不行耶

Dim dt As DataTable = DataTables("系统注册信息表")
For Each d As DataRow In dt.DataRows
    If d.RowState <> DataRowState.Added Then

Dim dr As DataRow = DataTables("日志系统注册信息表").AddNew
For Each dc As DataCol In DataTables("日志系统注册信息表").DataCols

    ' dr(dc.Name) = e.DataRow(dc.Name)
    dr("分公司") = e.DataRow("分公司")
    dr("姓名") = e.DataRow("姓名")
    dr("所属部门") = e.DataRow("所属部门")
    dr("联系电话") = e.DataRow("联系电话")
    dr("电脑类别") = e.DataRow("电脑类别")
    dr("机器码") = e.DataRow("机器码")
    dr("使用授权") = e.DataRow("使用授权")
    dr("启用日期") = e.DataRow("启用日期")
    dr("截止日期") = e.DataRow("截止日期")
    dr("操作记录_增加日期") = e.DataRow("操作记录_增加日期")
    dr("操作记录_修改人员") = e.DataRow("操作记录_修改人员")
    dr("操作记录_修改日期") = e.DataRow("操作记录_修改日期")
    
    dr("日志记录_主键") = e.DataRow("_Identify")
    dr("日志记录_操作类型") ="修改数据"
   
 
Next
  End If 
Next


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/20 20:35:00 [显示全部帖子]

我在当前表DataRowAdding 中写有以下命令;当新增行时、在"日志系统注册信息表"中还是会新增4条记录、我该怎么处理?

If e.DataTable.DataCols.Contains("分公司") Then
    e.DataRow("分公司") = _User分公司
End If

If e.DataTable.DataCols.Contains("操作记录_增加人员") Then
    e.DataRow("操作记录_增加人员") = _Username
End If


If e.DataTable.DataCols.Contains("操作记录_增加日期")  Then '如果当前表中存在"*****"列
    
    Dim cmd As New SQLCommand
    Dim dt As Date
    cmd.C
    cmd.CommandText = "Select GetDate()"
    dt = cmd.ExecuteScalar()
    
    e.DataRow("操作记录_增加日期") = dt
    
End If  '结束


我最终的目的是,只要该行为新增的;不管填写了什么内容、都不在 日志 表中进行记录;只在第一次保存了新增行后再修改时才记录。

换句话说、就是新增未保存的行不进行日志记录。
[此贴子已经被作者于2015-1-20 20:44:11编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/20 20:56:00 [显示全部帖子]

还有一个问题;如果我的命令是写在表的DataColChanging中;那么我对某一行的多个单元格进行修改后、点击保存;在 日志表 中就会出现我对每个单元格的修改记录、而不是只记录在最终修改前的那条记录。

也就是说、如果我对某一行的5个单元格进行了修改,再点击保存;那么我的 日志表 中就会有5条记录;而我希望只记录我在对该行进行修改前的那条内容

修改前内容

图片点击可在新窗口打开查看此主题相关图片如下:360截图20150120210204140.jpg
图片点击可在新窗口打开查看
修改后内容

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

日志内容

图片点击可在新窗口打开查看此主题相关图片如下:360截图20150120210242796.jpg
图片点击可在新窗口打开查看
 
我希望日志只要记录14那一条记录





[此贴子已经被作者于2015-1-20 21:02:38编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/20 21:11:00 [显示全部帖子]

那它不就变成记录修改后的内容 而不是记录修改前的内容啦

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/20 21:28:00 [显示全部帖子]

这种情况又变成了同一行内容只能在第一次修改时能被记录到 日志表 中;第二次及以后的修改都没有被记录。

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2015/1/20 21:44:00 [显示全部帖子]

这样又变成了只生成一条同主键的记录;然后每次修改都是改变这条记录的内容;而不是每次修改都新增一条记录。

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