Foxtable(狐表)用户栏目专家坐堂 → 如何分离出外部表部分数据?


  共有4105人关注过本帖树形打印复制链接

主题:如何分离出外部表部分数据?

帅哥哟,离线,有人找我吗?
明天的灵
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:405 积分:4927 威望:0 精华:0 注册:2017/2/7 7:41:00
如何分离出外部表部分数据?  发帖心情 Post By:2019/10/13 10:43:00 [只看该作者]

有多个表的外部ACCESS数据库,现需要保存为一个备份数据库,其中几个表只需要某个日期字段大于2018.1.1的数据。
[此贴子已经被作者于2019/10/13 13:59:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/13 22:47:00 [只看该作者]

按条件导出即可:http://www.foxtable.com/webhelp/topics/0683.htm

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

 回到顶部
帅哥哟,离线,有人找我吗?
明天的灵
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:405 积分:4927 威望:0 精华:0 注册:2017/2/7 7:41:00
  发帖心情 Post By: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”这二个字段


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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、删除刚刚添加的数据源

 回到顶部
帅哥哟,离线,有人找我吗?
明天的灵
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:405 积分:4927 威望:0 精华:0 注册:2017/2/7 7:41:00
  发帖心情 Post By:2019/10/14 17:56:00 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/14 20:20:00 [只看该作者]

这个就是为什么Exporter不会导出“_Identify”的原因。如果设置为自增的主键,那么值是由数据库自动递增的,无法导入,不受外部控制。

 回到顶部
帅哥哟,离线,有人找我吗?
明天的灵
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:405 积分:4927 威望:0 精华:0 注册:2017/2/7 7:41:00
  发帖心情 Post By:2019/10/14 21:29:00 [只看该作者]

这样看来,只能采用问题1的解决办法,先导出动态表内容,再用access手工打开数据库,加入这二个特殊的字段。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/14 21:49:00 [只看该作者]

也可以使用的第二种,把_Identify设置为主键,导的时候不导_Identify的值即可

 回到顶部
帅哥哟,离线,有人找我吗?
明天的灵
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:405 积分:4927 威望:0 精华:0 注册:2017/2/7 7:41:00
  发帖心情 Post By:2019/10/14 22:24:00 [只看该作者]

哦,这样导出时,需要选择列


 回到顶部