以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]转表的同步删除问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=14082) |
||||
-- 作者:dqlgood -- 发布时间:2011/11/7 17:17:00 -- [求助]转表的同步删除问题 Select Case e.DataCol.name \'应该在此加入同步删除但写不上来了,请帮忙写一下.谢谢!
问题见附件。
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/11/7 17:25:00 -- 呵呵,不做任何解释,一段代码贴出来,让人猜谜吗? 至少说明一下自己的设计目的吧,系统是你自己设计的,旁人是不清楚你在干什么的, |
||||
-- 作者:dqlgood -- 发布时间:2011/11/7 18:37:00 -- 本编码的目的是将“表A”中“检验项目”的分项目,在流程中,分拣到“表B”的不同行,这个功能在附件中已通过验证,现在的问题是如果要改签,如何实现“表B”的同步删除问题,看一下附件演示应该会明白的,我认为已经做的很详细了。 [此贴子已经被作者于2011-11-7 19:30:10编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2011/11/7 20:43:00 -- Tables("表A").Current("科室_拒签或退回") = User.Name Tables("表A").Current("科室_签收") = Nothing DataTables("表B").DeleteFor("[样品编号] = \'" & Tables("表A").current("样品编号") & "\'") With Tables("表A") .Position = .Position + 1 End With |
||||
-- 作者:dqlgood -- 发布时间:2011/11/7 22:30:00 -- 谢谢!就是这个语句不会写了,一直套用For Each但就是不成;测试发现不是很流畅,掐头去尾,仅保留: DataTables("表B").DeleteFor("[样品编号] = \'" & Tables("表A").current("样品编号") & "\'"),并改写为: DataTables("表B").DeleteFor("[样品编号] = \'" & e.DataRow("样品编号") & "\'")就流畅了。 在此之前,我也应用如:“dr("样品编号") = Tables("表A").Current("样品编号")”,单个签字可以,一用全签就出问题了, 不知“Tables("表A").Current("样品编号")”与“e.DataRow("样品编号")”,的区别在那里。 |
||||
-- 作者:mr725 -- 发布时间:2011/11/7 23:07:00 -- e.DataRow 是你操作的行, Tables("表A").Current 是焦点跑到任何一行的“当前行” 你用了position+1,所以不知道是否先跑到下一行后,才执行current,此时的current就不是原来的current了。。 |