以文本方式查看主题 - 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 |
-- 作者:明天的灵 -- 发布时间: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 -- 哦,这样导出时,需要选择列 |