Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:求助]关于表属性里的datacolchanged事件

1楼
gaoyong30000 发表于:2011/8/17 12:00: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

 

有问题  我其实是想实现 这样的功能

如果在客户档案表里更改了 最后进店日期 和 当前里程数据 (这2项是必改的,底盘号不需要改)

 

则自动在 历史进店记录 里增加一行   且 引用客户档案里更改后的   最后进店日期  ,当前里程 和 未更改的底盘号

 

 

现在这段代码 只要更改一列数据 就会增加一行

而我每次要更改  最后进店日期  和 当前里程  2列数据  也就增加了2行

 

请问如何优化这一代码!!

 

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

[此贴子已经被作者于2011-8-17 12:50:00编辑过]
2楼
gaoyong30000 发表于:2011/8/17 13:54:00

自己顶一下~~

3楼
狐狸爸爸 发表于:2011/8/17 14:18:00

你这是为难系统了,系统怎么知道你是要修改一列,还是要修改两列? 怎么知道你已经修改完毕?

 

提议:

 

1、做个修改窗口,用于修改着两列数据

2、窗口价格确定按钮,单击此按钮保存修改并向历史进店记录表增加一行。

4楼
gaoyong30000 发表于:2011/8/17 15:01: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

只是需要最后修改里程

 

现在能否 建立一个规则  必须先更改日期后 才能输入里程  

以防先更改里程 导致日期是旧日期

[此贴子已经被作者于2011-8-17 15:01:23编辑过]
5楼
gaoyong30000 发表于:2011/8/17 15:08:00

我又发现一个 方法  就是 PositionChanged 这个事件

 

因为修改数据后 是要换行 或者 保存的  能否在这 换行  和保存 2个事件上做文章呢 

 

也就是 换行后  或者 保存后  再执行这一代码!

 

 

不过  我把我之前这段代码复制进去 貌似不行~

[此贴子已经被作者于2011-8-17 15:08:47编辑过]
6楼
狐狸爸爸 发表于:2011/8/17 15:24:00
这不是可靠的做法,还是设计一个窗口来输入吧
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .05469 s, 3 queries.