以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 数据同步 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=35617) |
-- 作者:FB学生 -- 发布时间:2013/6/28 15:04:00 -- 数据同步 在帮助的“关联与表达式的综合示例”中,如何做到,入库表中增加一个产品编号,库存表也增加一个产品编号,如果库存表已经有该产品编号,那么不再增加,只是让库存_单价保持和入库单价同步? |
-- 作者:Bin -- 发布时间:2013/6/28 15:08:00 -- 这个论坛中很多类似例子, 你找找看吧! 思路如下: 入库表DataColChanged事件查找库存表是否存在一样的产品编号行,如果找到就修改对应的行. 如果没找到就新增,并且赋值.
|
-- 作者:FB学生 -- 发布时间:2013/6/28 15:42:00 -- 那这个事件怎么改呢?
Select
Case
e.DataCol.name |
-- 作者:Bin -- 发布时间:2013/6/28 15:47:00 -- 代码应该没什么问题啊 严谨一点应该增加一下e.DataRow("产品编号")的空值判断 你执行出现什么问题?
|
-- 作者:FB学生 -- 发布时间:2013/6/28 15:58:00 -- 执行时,库存表已经有了这笔产品编号,入库表中增加是,库存表还会增加同样一笔 |
-- 作者:Bin -- 发布时间:2013/6/28 16:03:00 -- 上个例子才方便分析你的问题. |
-- 作者:Bin -- 发布时间:2013/6/28 16:05:00 -- 原因应该是你这里Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.OldValue & "\'") 你用的是OldValue 你新增的时候 OldVale是空的, 因为你是新增的行.第一次修改老的值肯定空的.那么肯定找不到行. 自然就新增行了.
|
-- 作者:FB学生 -- 发布时间:2013/6/28 16:20:00 -- 那怎么调试呢
|
-- 作者:Bin -- 发布时间:2013/6/28 16:23:00 -- 调试技巧 http://www.foxtable.com/help/topics/1485.htm |
-- 作者:FB学生 -- 发布时间:2013/6/28 16:24:00 -- 老师误解了,我是问上面的代码怎么改正过来 |