以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]请教客户档案信息窗口 按钮的一段代码! (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=11963) |
||||
-- 作者:gaoyong30000 -- 发布时间:2011/8/18 9:36:00 -- [求助]请教客户档案信息窗口 按钮的一段代码! 之前我发过一个求助帖子
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=11932&page=2#editform
讲的是 判断2个列是否有数据变化 如果2列数据都变化了 则在后面的一张表里 自动引用 这2列数据
由于通过表代码 无法实现
我现在设计了一个窗口 请教下 窗口里的 客户档案信息 保存修改按钮 该怎么写这代码!
就是客户档案表里的 最后进店日期 和 当前里程 发生更改后
历时近店记录的 的3列(底盘号隐藏了) 自动 引用 客户档案表里 底盘号 最后进店日期 和 当前历程 [此贴子已经被作者于2011-8-18 10:23:51编辑过]
|
||||
-- 作者:gaoyong30000 -- 发布时间:2011/8/18 10:44:00 -- 请问有参考的案例 或者 如何编写吗? |
||||
-- 作者:foxor -- 发布时间:2011/8/18 10:53:00 -- 应该不需要按钮的,如果只是在关闭项目前更新,可考虑在 BeforeCloseProject 事件中添加代码;如果需要及时更新,可考虑在计划管理中增加代码 |
||||
-- 作者:gaoyong30000 -- 发布时间:2011/8/18 11:00:00 -- 这是我之前 在客户档案表 datacolchanged事件里的代码 Select Case e.DataCol.name
有弊端 只能判定当前里程更改后 引用 ,而不能判定2列都更改后引用
如果 最后进店日期 和 当前里程 我先修改了 当前里程 再修改最后进店日期 那后面的历时进店记录表里 引用的日期是 旧日期 而不是 修改后的新日期了 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/8/18 11:33:00 -- Dim r As Row = Tables("客户档案").Current Dim dr As DataRow = DataTables("历史进店记录").Find("底盘号 = \'" & r("底盘号") & "\'") If dr IsNot Nothing Then dr("当前里程") = r("当前里程") dr("进店时间") = r("最后进店日期") dr.Save() End If r.Save() |
||||
-- 作者:gaoyong30000 -- 发布时间:2011/8/18 11:44:00 -- 表事件中 以前这段代码 Select Case e.DataCol.name
换成了这个 Select Case e.DataCol.name
还是不行 这后来的代码 有什么问题吗?》 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/8/18 11:47:00 -- |
||||
-- 作者:gaoyong30000 -- 发布时间:2011/8/18 11:52:00 -- 狐狸爸爸 你这个代码有2个问题
对于有历史进店记录的客户 这代码有效
假如 我发现客户档案其它信息有错误 然后去更正了 此客户并没有来店 也就是 最后来店日期和里程没变化 你这个代码 还是会 向历史进店记录添加数据的
第二个就是如果是新客户来店 我填写了新的底盘号(底盘号 的确是每个客户唯一标识) 这段代码也识别不出这个客户 也没法记录这次信息了 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/8/18 12:10:00 -- 这个问题: 发现客户档案其它信息有错误 然后去更正了 此客户并没有来店 也就是 最后来店日期和里程没变化 你这个代码 还是会 向历史进店记录添加数据的
你可以自判断一下输入了来店日期和里程才添加行。
7楼的代码,没有下面这个问题: 第二个就是如果是新客户来店 我填写了新的底盘号(底盘号 的确是每个客户唯一标识) 这段代码也识别不出这个客户 也没法记录这次信息了
[此贴子已经被作者于2011-8-18 12:12:31编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/8/18 12:15:00 -- Dim r As Row = Tables("客户档案").Current If r.Isnull("最后进店日期") = False Dim dr As DataRow = DataTables("历史进店记录").Find("底盘号 = \'" & r("底盘号") & "\'") If dr Is Nothing Then dr = DataTables("历史进店记录").AddNew() dr("底盘号") = r("底盘号") End If dr("当前里程") = r("当前里程") dr("进店时间") = r("最后进店日期") dr.Save() End If r.Save() |