Foxtable(狐表)用户栏目专家坐堂 → [求助]请教客户档案信息窗口 按钮的一段代码!


  共有12065人关注过本帖树形打印复制链接

主题:[求助]请教客户档案信息窗口 按钮的一段代码!

帅哥哟,离线,有人找我吗?
gaoyong30000
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
[求助]请教客户档案信息窗口 按钮的一段代码!  发帖心情 Post By:2011/8/18 9:36:00 [只看该作者]

之前我发过一个求助帖子 

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=11932&page=2#editform

 

讲的是 判断2个列是否有数据变化  如果2列数据都变化了  则在后面的一张表里 自动引用 这2列数据

 

由于通过表代码 无法实现

 

我现在设计了一个窗口  请教下  窗口里的  客户档案信息   保存修改按钮 该怎么写这代码!

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:内控系统7.rar

 

就是客户档案表里的 最后进店日期  和 当前里程  发生更改后 

 

历时近店记录的 的3列(底盘号隐藏了)  自动 引用  客户档案表里  底盘号 最后进店日期  和 当前历程

[此贴子已经被作者于2011-8-18 10:23:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
gaoyong30000
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 10:44:00 [只看该作者]

请问有参考的案例 或者 如何编写吗?


 回到顶部
帅哥哟,离线,有人找我吗?
foxor
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:515 积分:4172 威望:0 精华:0 注册:2009/10/8 16:43:00
  发帖心情 Post By:2011/8/18 10:53:00 [只看该作者]

应该不需要按钮的,如果只是在关闭项目前更新,可考虑在 BeforeCloseProject 事件中添加代码;如果需要及时更新,可考虑在计划管理中增加代码


 回到顶部
帅哥哟,离线,有人找我吗?
gaoyong30000
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 11:00:00 [只看该作者]

这是我之前 在客户档案表  datacolchanged事件里的代码

Select Case e.DataCol.name
    Case "当前里程"
        Dim yq As DataRow = e.DataRow
        If e.OldValue <> e.NewValue  AndAlso e.NewValue IsNot Nothing Then
            Dim lc As DataRow = DataTables("历史进店记录").AddNew()
            lc("当前里程") = yq("当前里程")
            lc("进店时间") = yq("最后进店日期")
            lc("底盘号")  = yq("底盘号")
        End If
End Select

 

 有弊端   只能判定当前里程更改后 引用 ,而不能判定2列都更改后引用

 

             如果 最后进店日期  和 当前里程   我先修改了 当前里程   再修改最后进店日期 

             那后面的历时进店记录表里 引用的日期是  旧日期  而不是 修改后的新日期了


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 11:44:00 [只看该作者]

表事件中 以前这段代码

Select Case e.DataCol.name
    Case "当前里程"
        Dim yq As DataRow = e.DataRow
        If e.OldValue <> e.NewValue  AndAlso e.NewValue IsNot Nothing Then
            Dim lc As DataRow = DataTables("历史进店记录").AddNew()
            lc("当前里程") = yq("当前里程")
            lc("进店时间") = yq("最后进店日期")
            lc("底盘号")  = yq("底盘号")
        End If
End Select

 

 

换成了这个 

Select Case e.DataCol.name
    Case "当前里程","最后进店日期","底盘号"
        Dim yq As DataRow = e.DataRow
        Dim dr As DataRow = e.DataRow
        Dim xm,ym,dm As  DataRow
        xm = DataTables("历史进店记录").Find("当前里程 = '" & dr("当前里程") & "'")
        ym = DataTables("历史进店记录").Find("进店时间 = '" & yq("最后进店日期") & "'")
        If xm Is Nothing AndAlso ym Is Nothing Then
            Dim lc As DataRow = DataTables("历史进店记录").AddNew()
            lc("当前里程") = yq("当前里程")
            lc("进店时间") = yq("最后进店日期")
            lc("底盘号")  = yq("底盘号")
        End If
End Select

 

还是不行   这后来的代码  有什么问题吗?》


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/18 11:47:00 [只看该作者]

Dim r As Row = Tables("客户档案").Current
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()
r.Save()

 回到顶部
帅哥哟,离线,有人找我吗?
gaoyong30000
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 11:52:00 [只看该作者]

狐狸爸爸 你这个代码有2个问题

 

对于有历史进店记录的客户  这代码有效

 

 

假如 我发现客户档案其它信息有错误  然后去更正了 此客户并没有来店 也就是 最后来店日期和里程没变化  你这个代码 还是会 向历史进店记录添加数据的

 

第二个就是如果是新客户来店  我填写了新的底盘号(底盘号 的确是每个客户唯一标识)   这段代码也识别不出这个客户 也没法记录这次信息了


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/18 12:10:00 [只看该作者]

这个问题:

发现客户档案其它信息有错误 然后去更正了 此客户并没有来店 也就是 最后来店日期和里程没变化 你这个代码 还是会 向历史进店记录添加数据的  

 

你可以自判断一下输入了来店日期和里程才添加行。

 

 

7楼的代码,没有下面这个问题:

第二个就是如果是新客户来店 我填写了新的底盘号(底盘号 的确是每个客户唯一标识) 这段代码也识别不出这个客户 也没法记录这次信息了

 

 

[此贴子已经被作者于2011-8-18 12:12:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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()

 回到顶部
总数 21 1 2 3 下一页