以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 坐标与选定区域为何在“删除行之前”事件中区域坐标是错的 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118487) |
-- 作者:YANGYUNLIN -- 发布时间:2018/5/4 9:03:00 -- 坐标与选定区域为何在“删除行之前”事件中区域坐标是错的 With CurrentTable messagebox.show( .RowSel & " " & .TopRow & " " & .BottomRow) End With 在命令窗口中测试坐标正确,可在在 表事件---“删除行之前”事件中区域坐标是错的
|
-- 作者:有点甜 -- 发布时间:2018/5/4 9:10:00 -- 1、你要做什么功能?请直接说。
2、没看懂你为什么要在beforeDeleteDataRow写这些代码。 |
-- 作者:YANGYUNLIN -- 发布时间:2018/5/4 9:18:00 -- 我要在删除之前 查看删除的记录行号,以便相关的表的记录做同样删除 |
-- 作者:有点甜 -- 发布时间:2018/5/4 9:27:00 -- 以下是引用YANGYUNLIN在2018/5/4 9:18:00的发言:
我要在删除之前 查看删除的记录行号,以便相关的表的记录做同样删除
1、根据行号这个是不正确的。行号是会随机变化的(排序、筛选等都会导致变化),不是唯一确定的值。
2、正确的做法是根据本行的信息,比如列 _Identify (主键),然后对应操作别的表(别的表引用此_Identify列的值)。 |
-- 作者:YANGYUNLIN -- 发布时间:2018/5/4 9:34:00 -- 我只要得到正确的坐标位,其它都是可以解决的 |
-- 作者:YANGYUNLIN -- 发布时间:2018/5/4 9:36:00 -- 问题是,用户选了一个区域并做了删除,我不知道他删除了哪块区域 |
-- 作者:有点甜 -- 发布时间:2018/5/4 9:51:00 -- 那试试
With Tables(e.DataTable.name) |
-- 作者:YANGYUNLIN -- 发布时间:2018/5/4 10:00:00 -- 我原来一样的 |
-- 作者:YANGYUNLIN -- 发布时间:2018/5/4 10:01:00 -- 和原来一样,解决不了问题 |
-- 作者:狐狸爸爸 -- 发布时间:2018/5/4 10:05:00 -- 不要用位置判断,容易出问题,如果某个表删除记录之前,需要删除另一个表的相关记录,可以参考: http://www.foxtable.com/webhelp/scr/0633.htm 例如产品表删除某记录,需要从订单表删除此产品的所有记录,可以将产品表的Datarow事件代码设置为: DataTables("订单").DeleteFor("产品= \'" & e.DataRow("产品") & "\'")
|