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


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

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

帅哥哟,离线,有人找我吗?
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 [显示全部帖子]

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


 回到顶部
帅哥哟,离线,有人找我吗?
gaoyong30000
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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列都更改后引用

 

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
gaoyong30000
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 

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


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


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

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

 

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

 

 

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

 

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


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 12:20:00 [显示全部帖子]

以下是引用狐狸爸爸在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()

 

还是有点问题  更改了客户档案信息 的 最后进店日期 和当前里程  只会覆盖掉以前的数据 


还是有点问题  更改了客户档案信息 的 最后进店日期 和当前里程 

历史进店记录表 里只会覆盖掉以前的数据  而不是新增一行~


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

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 12:38:00 [显示全部帖子]

狐狸爸爸 你仔细看下 我那个表

 

例如  LJ16AA3C6A7022060  底盘号的客户

 

右边历史记录表窗口 会显示他的 历史来电记录 

 

我要的效果就是  如果日期  和 里程数都更改了  点保存  那么这个窗口的记录 就另起一行添加这次更改的新数据


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 12:57:00 [显示全部帖子]

多谢了 还是你的代码简单  我刚才按照你那个重新编辑了 比你的复杂 但是效果一样  呵呵!

 

Dim r As Row = Tables("客户档案").Current
If r.Isnull("最后进店日期") = False
    Dim dr As DataRow = DataTables("历史进店记录").Find("底盘号 = '" & r("底盘号") & "'")
    Dim jr As DataRow = DataTables("历史进店记录").Find("进店时间 = '" & r("最后进店日期") & "'")
    Dim lr As DataRow = DataTables("历史进店记录").Find("当前里程 = '" & r("当前里程") & "'")
    If dr IsNot Nothing AndAlso jr Is Nothing AndAlso lr Is Nothing Then
        dr = DataTables("历史进店记录").AddNew()
        dr("底盘号") = r("底盘号")
        dr("当前里程") = r("当前里程")
        dr("进店时间") = r("最后进店日期")
    ElseIf dr Is Nothing Then
        dr = DataTables("历史进店记录").AddNew()
        dr("底盘号") = r("底盘号")
        dr("当前里程") = r("当前里程")
        dr("进店时间") = r("最后进店日期")
    End If
End If

 


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 14:14:00 [显示全部帖子]

狐狸爸爸  你这个 表 我还有个小问题啊!

 

为什么 要加个  dr.Save()??


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
QQ40291498,骗子一个】  发帖心情 Post By:2011/8/18 14:38:00 [显示全部帖子]

这个有必要?

 

这个保存 是为了防止 狐表意外关闭 是不是啊?

[此贴子已经被作者于2011-8-18 14:38:34编辑过]

 回到顶部
总数 13 1 2 下一页