Foxtable(狐表)用户栏目专家坐堂 → 请教:ACC数据库合并表时提示错误,是何原因?


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

主题:请教:ACC数据库合并表时提示错误,是何原因?

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
请教:ACC数据库合并表时提示错误,是何原因?  发帖心情 Post By:2009/11/3 14:09:00 [显示全部帖子]

合并表按钮代码

Dim dlg As New OpenFileDialog '定一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    MessageBox.Show("你选择的是:" & dlg.FileName,"提示") '提示用户选择的文件
End If

Dim mg As New Merger
mg.SourcePath = dlg.FileName
mg.Format = "excel" '指定格式
mg.SourceTableName = "员工档案" '指定要合并的表
mg.DataTableName = "员工档案" '指定接收数据的表
mg.Merge() '开始合并


图片点击可在新窗口打开查看此主题相关图片如下:合并表.jpg
图片点击可在新窗口打开查看
[此贴子已经被狐狸爸爸于2009-11-3 15:27:12编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/11/4 10:06:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-11-3 15:22:00的发言:
设置Merger的Filter参数,过滤掉_Identify为空的行。
[此贴子已经被作者于2009-11-3 15:21:38编辑过]

我试试,为何不能默认Filter参数,过滤掉_Identify为空行呢?

[此贴子已经被作者于2009-11-4 10:08:09编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/11/4 10:30:00 [显示全部帖子]

mg.Filter="[_Identify] <> 0"
这样加了,没有提示了,但是并没执行合并命令

 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/11/4 10:51:00 [显示全部帖子]

就是这段代码,又报其它错了,请看图片
Dim mg As New Merger
mg.SourcePath = "c:\导出文件\2009-11-3导出.xls"
mg.Format = "excel" '指定格式
mg.SourceTableName = "员工档案" '指定要合并的表
mg.DataTableName = "员工档案" '指定接收数据的表
mg.Filter="[_Identify] Is Not Null"
mg.Merge() '开始合并

图片点击可在新窗口打开查看此主题相关图片如下:合并表2.jpg
图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
yangming
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/11/4 11:18:00 [显示全部帖子]

请看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2009-11-3导出.rar


 回到顶部
美女呀,离线,留言给我吧!
yangming
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/11/4 13:00:00 [显示全部帖子]

我忘了说明了,我的员工档案表是ACC外部表,我要导入的,就是我用此表保存的表,就是这段代码
Tables("员工档案").SaveExcel("c:\导出文件\"& Date.Today & "导出.xls","员工档案",False)

 回到顶部
美女呀,离线,留言给我吧!
yangming
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/11/4 13:11:00 [显示全部帖子]

在数据库中_Identify是主键,但不是自动增量,因为这个表我是要做新增列处理后导出的

 回到顶部
美女呀,离线,留言给我吧!
yangming
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/11/4 13:21:00 [显示全部帖子]

我知道是何原因了,主键列不是自动增量型,所以做合并时出现错误,这个问题如何解决呢?因为外部表要做新增列,新增列后再导出,目前只能是导出主键列为_Identify,而且又不能做成自动增量

 回到顶部
美女呀,离线,留言给我吧!
yangming
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/11/5 9:18:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-11-4 15:14:00的发言:
看看能否在DataRowAdding事件设置代码,自己设置主键列内容。

没用,代码这样
e.DataRow("_Identify") = e.DataTable.Compute("Max(_Identify)") + 1


 回到顶部
美女呀,离线,留言给我吧!
yangming
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/11/5 10:17:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-11-5 10:00:00的发言:

没有办法了,要用_Identify,必须用自动增量的。
否则就不用_identify作为主键列的名称

[此贴子已经被作者于2009-11-5 9:59:51编辑过]

我也不想用_identify作为主键列,能自定义不是更好?我发现外部表的主键真是很麻烦
三种办法的比较:
重定向可以将_identify做为主键并自动增量,但是,重定向不能将新增的临时列导出
而导出时,用菜单导出时,可以将_identify定为主键,但不能将此列做为自动增量
用代码导出时,无法定主键,更无法定自动增量了

有何办法,在导出时自定义主键并自动增量,或者退一步,导出时将_identify定为主键并自动增量?


 回到顶部
总数 15 1 2 下一页