以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 数据跨表更新 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105614) |
-- 作者:litiemiao -- 发布时间:2017/8/22 22:17:00 -- 数据跨表更新 If e.DataCol.Name = "商品条码" Then 这段代码是执行在表A中商品条码如果在数据库中有对应值,就自动填充商品名称、规格、单位、进价、售价等内容,那么请问,如果表A中的商品条码在数据库中没有对应值,如何让数据库自动更新表A中的数据呢,例如表A中商品条码是1001 在数据库中并没有对应值,那么如何在我在表A中输入各种数据后,自动同步增加到数据库中,还需要将上面的代码在数据库中执行一遍吗? |
-- 作者:有点蓝 -- 发布时间:2017/8/22 22:21:00 -- 表ABeforeSaveDataRow事件 Dim dr As DataRow dr = DataTables("云数据").SqlFind("[商品条码] = \'" & e.DataRow("商品条码") & "\'") If dr Is Nothing Then dr = DataTables("云数据").AddNew() dr("商品名称") = e.DataRow("商品名称") dr("规格") = e.DataRow("规格") \'e.DataRow("单位") = dr("单位") \'e.DataRow("进价") = dr("进价") \'e.DataRow("售价") = dr("售价") \'e.DataRow("类别编码") = dr("类别编码") \'e.DataRow("产地") = dr("产地") dr.Save dr.Remove End If |
-- 作者:litiemiao -- 发布时间:2017/8/22 22:44:00 -- 如果没有保存行按钮呢,例如主菜单中只有保存按钮 并没有保存行,例如是保存表呢,应该怎么操作 |
-- 作者:有点蓝 -- 发布时间:2017/8/22 22:46:00 -- 保存表时每个需要保存的行都会触发上面的事件 |
-- 作者:litiemiao -- 发布时间:2017/8/22 22:53:00 -- 但是上面的代码并没有发生作用啊 当我保存了之后,我又重新输入这个条码 数据库中并没有对应的值 ,按理来说,我更新了数据库 他应该有这个对应值啊 好了
我知道怎么回事了 是因为上面的代码没有加入dr("商品条码") = e.DataRow("商品条码") 这个,所以我在输入这个条码就没有对应值 谢谢大佬 学习到了 [此贴子已经被作者于2017/8/22 22:56:44编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/8/22 22:58:00 -- 2楼的代码并不完整,看懂代码自己改正确 |