Rss & SiteMap

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

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

标题:每新增1行时会同时(时间点完全一致)产生2个行键值

1楼
otterlike 发表于:2024/1/12 16:13:00
各位老师好!最近我在操作日志中发现,关联表的子表每新增1行时会同时(时间点完全一致)产生2个行键值,其中较大的行键值记录的信息是正确的,较小的行键值记录的信息是错误的。如果不是关联表的子表就不会出现这种情况,请问该如何消除这种情况?

图片点击可在新窗口打开查看此主题相关图片如下:案例1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:案例2.jpg
图片点击可在新窗口打开查看
2楼
有点蓝 发表于:2024/1/12 16:29:00
用了什么代码?
3楼
otterlike 发表于:2024/1/12 16:37:00
新增行的代码:
        Tables("物流计划.运输单副表").Focus
        If Tables("物流计划.运输单副表").AllowAddNew = True Then 
            Syscmd.Row.AddNew()
            Tables("物流计划.运输单副表").Save '每次增加行后,自动保存表,使得自动增量列获得真实的值
        Else
            MessageBox.Show("您没有该权限,请联系系统管理员!", "提示")
        End If

操作日志代码:全局表事件 DataColChanged

Try
    If e.DataTable.Name <> "操作日志" Then '”数据操作日志“是表名
            If e.DataCol.Expression = "" Then
                If e.NewValue <> e.OldValue Then 
                    Dim r As Row = Tables("操作日志").AddNew()
                    r("操作") = "修改"
                    r("工作表") = e.DataTable.Name
                    r("列名称") = e.DataCol.Name
                    r("行键值") = e.DataRow("_Identify")
                    r("修改人") = Vars("用户部门") & "." & Vars("用户姓名")
                    r("修改时间") = Date.Now
                    r("修改记录") = "[" & e.OldValue & "]→[" & e.NewValue & "]"
                End If
            End If
        End If
Catch ex As Exception
    StatusBar.Message1 = "Unknown Error"
End Try
[此贴子已经被作者于2024/1/12 16:37:48编辑过]
4楼
有点蓝 发表于:2024/1/12 17:03:00
新增行的代码改为:
        Tables("物流计划.运输单副表").Focus
        If Tables("物流计划.运输单副表").AllowAddNew = True Then 
SystemReady = False
            dim r as row = Tables("物流计划.运输单副表").addnew
            r.Save '每次增加行后,自动保存表,使得自动增量列获得真实的值
SystemReady = true
        Else
            MessageBox.Show("您没有该权限,请联系系统管理员!", "提示")
        End If

原因是使用关联表新增,新增后会给关联列赋值,就会马上触发datacolchanged事件,而这时还没有保存。所以_Identify还不是真实的值。如果在子表新增就不会有这种问题了
[此贴子已经被作者于2024/1/12 17:24:48编辑过]
5楼
otterlike 发表于:2024/1/12 17:14:00
感谢老师!
共5 条记录, 每页显示 10 条, 页签: [1]

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

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.