以文本方式查看主题

-  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=127151)

--  作者:tkxffb
--  发布时间:2018/11/6 22:30:00
--  [求助]表导出再导入有一特定行总是被删除
各位老师,人事类项目中有一个表,通过窗口导出按钮导出,然后再导入,发现总是比原表少了一行,经反复试验,发现少的是同一行,把这一行从原表删除再导出导入,就不会出现上述问题。最后发现是因为身份证号的原因,把身份证号改一个数字就不会被删除了。可是这个身份证号是真实的、正确的。请各位老师看一下,是我写的代码有问题,还是系统的问题。
导出代码是:

Dim dlg As New SaveFileDialog    \'定义一个新的SaveFileDialog
dlg.Filter= "Access文件|*.mdb"    \'设置筛选器
dlg.FileName = Format( "zksfxj")
If dlg.ShowDialog = DialogResult.Ok Then    \'如果用户单击了确定按钮
FileSys.CopyFile(ProjectPath & "database.mdb",dlg.FileName, True)
    Dim ex As New Exporter
    ex.SourceTableName = "人员信息表"   \'指定导出表
    ex.filepath = dlg.FileName     \'指定目标文件
    ex.Export()    \'开始导出

导入代码是:

Dim dlg As New OpenFileDialog   \'定义一个新的OpenFileDialog
dlg.Filter= "Access文件|*.mdb"    ‘设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then   \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "人员信息表"
    mg.DataTableName = "人员信息表"
    mg.Merge()

身份证号码:412724194710066430
[此贴子已经被作者于2018/11/6 22:33:25编辑过]

--  作者:有点甜
--  发布时间:2018/11/7 8:51:00
--  

代码没问题,请做一个实例发上来测试。


--  作者:tkxffb
--  发布时间:2018/11/7 21:19:00
--  
甜老师好,我把项目重新发布一下,做成安装文件,安装到另一台电脑上就没这种问题,等我再去那台电脑上重新安装测试一下,再报告测试情况
[此贴子已经被作者于2018/11/7 21:20:03编辑过]

--  作者:tkxffb
--  发布时间:2018/11/8 20:21:00
--  
甜老师好,上述问题发现原因了:项目中还有另外一个表,那个表的表事件中有代码,在特定条件下会删除这个表的行。项目发布后时间长了,忘记这一点了。
--  作者:有点甜
--  发布时间:2018/11/8 20:28:00
--  
以下是引用tkxffb在2018/11/8 20:21:00的发言:
甜老师好,上述问题发现原因了:项目中还有另外一个表,那个表的表事件中有代码,在特定条件下会删除这个表的行。项目发布后时间长了,忘记这一点了。

 

你可以在导入的时候,关闭事件触发,如

 

SystemReady = False

 

\'导入代码

 

SystemReady = True

 

 


--  作者:tkxffb
--  发布时间:2018/11/8 20:36:00
--  
好的,谢谢指教