Foxtable(狐表)用户栏目专家坐堂 → [求助]求删除并还原上次变动的代码


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

主题:[求助]求删除并还原上次变动的代码

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


加好友 发短信 小学文化
等级:小狐 帖子:374 积分:2318 威望:0 精华:0 注册:2008/12/6 20:34:00
[求助]求删除并还原上次变动的代码  发帖心情 Post By:2010/2/3 21:16:00 [只看该作者]


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


当删除上图表二[信息变动表]中的最后一条信息的同时,将表一[基础信息表]中对应的“王菲”信息还原到表二[信息变动表]]中上一条“职务变动”时的信息。

求此代码 ,谢谢


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table






[此贴子已经被作者于2010-2-3 21:34:03编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/2/3 22:11:00 [只看该作者]

不知我理解了没有,应该是比较简单的事。

Dim dr As DataRow = DataTables("信息变动").Find("Id = '1'","聘任时间 Desc",1)
Dim dr1 As DataRow = DataTables("信息变动").Datarows(Tables("信息变动").Position)
Dim pr As DataRow = dr.GetParentrow("基础信息")
pr("职称") = dr1("职称")
Delete当前行

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/2/3 22:35:00 [只看该作者]

楼上代码中Find方法的条件忘了改,上面只是测试用的。

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


加好友 发短信 小学文化
等级:小狐 帖子:374 积分:2318 威望:0 精华:0 注册:2008/12/6 20:34:00
  发帖心情 Post By:2010/2/3 22:37:00 [只看该作者]

C版没有理解我的意思

1、关联表中关联列ID

2、表二中的内容可以说是表一的副本(其实是表一的人事信息变动(或叫信息异动)记录表)

3、当删除表二中“王菲”最后的一次变动记录,此时可为Current(也就是行号为3的记录),与此同时将表二中“王菲”上一次变动记录信息(也就是行号为2的记录)覆盖表一中“王菲”的对应信息

目的是:把误操作恢信息复原到上一次真实的信息——也就是我们操作数据时的还原功能 CTRL+C
[此贴子已经被作者于2010-2-3 22:40:17编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/2/3 22:41:00 [只看该作者]

好象没错吧,这就是恢复啊(将同Id倒数第二条记录中的相关数据写入到父行中)。

pr("职称") = dr1("职称")
……

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/2/3 22:45:00 [只看该作者]

测试了下,没看出那里不对,或许我真的没理解。

With Tables("信息变动")
    If .Current IsNot Nothing Then
        Dim dr As DataRow = DataTables("信息变动").Find("Id = '" & .Current("Id") & "'","聘任时间 Desc",1)
        Dim dr1 As DataRow = DataTables("信息变动").Datarows(.Position)
        Dim pr As DataRow = dr.GetParentrow("基础信息")
        pr("职称") = dr1("职称")
        .Current.Delete
    End If
End With

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


加好友 发短信 小学文化
等级:小狐 帖子:374 积分:2318 威望:0 精华:0 注册:2008/12/6 20:34:00
  发帖心情 Post By:2010/2/3 23:24:00 [只看该作者]

我明白C版的意思

可我却还没表达清楚图片点击可在新窗口打开查看

我是说:如何能直接操作窗口表二中的当前选择行(窗口表二绑定的表是[基础信息.信息变动] 非 Tables("信息变动")),所以用以上的代码操作窗口表二所见的当前行,其实并非是Tables("信息变动")中的当前行

不知是否能明白了?
[此贴子已经被作者于2010-2-3 23:28:30编辑过]

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


加好友 发短信 小学文化
等级:小狐 帖子:374 积分:2318 威望:0 精华:0 注册:2008/12/6 20:34:00
  发帖心情 Post By:2010/2/3 23:47:00 [只看该作者]

帮助里好像找不到关于自定义窗口中“关联表”操作的内容图片点击可在新窗口打开查看

而系统窗口列表中的“关联表”表却能做当前行的操作——郁闷
[此贴子已经被作者于2010-2-3 23:50:35编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2010/2/4 1:22:00 [只看该作者]

 好难懂哦,最好贴出你删除还原后截图来看看。

 回到顶部