以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何分离出外部表部分数据?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141883)

--  作者:明天的灵
--  发布时间:2019/10/13 10:43:00
--  如何分离出外部表部分数据?
有多个表的外部ACCESS数据库,现需要保存为一个备份数据库,其中几个表只需要某个日期字段大于2018.1.1的数据。
[此贴子已经被作者于2019/10/13 13:59:58编辑过]

--  作者:有点蓝
--  发布时间:2019/10/13 22:47:00
--  
按条件导出即可:http://www.foxtable.com/webhelp/topics/0683.htm

Filter
字符型,指定导出条件表达式;
请参考表达式的运算符和函数 和 条件表达式

--  作者:明天的灵
--  发布时间:2019/10/14 12:01:00
--  
试了下,用“Export“存在二个问题:
1、只能一次导出一个表,不能把多个表一次导出到指定的mdb文件中
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Access文件|*.mdb" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim ex As New Exporter
    ex.SourceTableName = "产品信息表" \'指定导出表
    ex.filepath = dlg.FileName  \'指定目标文件
    ex.Export() \'开始导出
    
    \'Dim ex As New Exporter
    ex.SourceTableName = "出库主表" \'指定导出表
    ex.filepath = dlg.FileName  \'指定目标文件
    ex.Export() \'开始导出
    
End If
‘上在代码只导出了“产品信息表”
2、导出的mdb表没有“_Identify”、“_Locked”这二个字段


--  作者:有点蓝
--  发布时间:2019/10/14 13:50:00
--  
……
Dim ex As New Exporter
    ex.SourceTableName = "产品信息表" \'指定导出表
    ex.filepath = dlg.FileName  \'指定目标文件
    ex.Export() \'开始导出
    
    ex = New Exporter
    ex.SourceTableName = "出库主表" \'指定导出表
    ex.filepath = dlg.FileName  \'指定目标文件
    ex.Export() \'开始导出
……

没有办法导出“_Identify”、“_Locked”这二个字段。如果一定要,有的麻烦

1、建一空的mdb 数据库,预先建立好表结构,没有数据,注意_Identify不能设置为主键和自增
2、开始导数据前,先把这个空数据库复制到某个文件夹,可以使用代码复制:http://www.foxtable.com/webhelp/topics/0342.htm
3、动态添加这个数据库到数据源:http://www.foxtable.com/webhelp/topics/1944.htm
5、删除刚刚添加的数据源

--  作者:明天的灵
--  发布时间:2019/10/14 17:56:00
--  
谢谢蓝版主!
第一个问题解决。
第二个问题有疑问,
建一空的mdb 数据库,如果_Identify不能设置为主键和自增,则在动态添加这个数据库到数据源
后,就不能添加动态表(见我昨天的帖子),而最后一步手工填充数据,需要表对表,单有数据源,不能使用手工填充数据。

--  作者:有点蓝
--  发布时间:2019/10/14 20:20:00
--  
这个就是为什么Exporter不会导出“_Identify”的原因。如果设置为自增的主键,那么值是由数据库自动递增的,无法导入,不受外部控制。
--  作者:明天的灵
--  发布时间:2019/10/14 21:29:00
--  
这样看来,只能采用问题1的解决办法,先导出动态表内容,再用access手工打开数据库,加入这二个特殊的字段。
--  作者:有点蓝
--  发布时间:2019/10/14 21:49:00
--  
也可以使用的第二种,把_Identify设置为主键,导的时候不导_Identify的值即可
--  作者:明天的灵
--  发布时间:2019/10/14 22:24:00
--  
哦,这样导出时,需要选择列