以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  内部索引已损坏  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=70215)

--  作者:edisontsui
--  发布时间:2015/6/17 13:16:00
--  内部索引已损坏

当我在某表格插入一行时,提示:DATATABLE内部索引已损坏“5”。请问如何解决?


--  作者:Bin
--  发布时间:2015/6/17 14:03:00
--  
文件发上来看看
--  作者:edisontsui
--  发布时间:2015/6/17 14:11:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:production.zip


--  作者:大红袍
--  发布时间:2015/6/17 14:36:00
--  
 你上传一个数据库是什么意思?项目发上来。
--  作者:edisontsui
--  发布时间:2015/6/17 15:31:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产运作(20150105).zip


--  作者:edisontsui
--  发布时间:2015/6/17 15:31:00
--  
这是项目文件。
--  作者:大红袍
--  发布时间:2015/6/17 16:11:00
--  

 汗,看了一下,你的数据库和文件都没有问题的,是你afteropenproject的这两句代码导致的

 

DataTables("员工名单").DataCols("入职日期").RaiseDataColChanged()
DataTables("出入库").DataCols("出入库日期").RaiseDataColChanged()

 

 每次进入系统,都会重复计算,那么你保存的时候,就要保存几千行的数据,肯定慢。

 

Select Case e.DataCol.name
    Case "出入库日期"
        If e.DataRow.IsNull("出入库日期") Then
            e.DataRow("已出库天数") = Nothing
        Else
            Dim tp As TimeSpan = Date.today - CDate(e.DataRow("出入库日期"))
            e.DataRow("已出库天数") = Math.Round(tp.TotalDays / 1,0)
        End If
End Select

 

 要么,不计算,要么,把 已出库天数 改成表达式列