标题:求助 access 数据库复制整条数据库 sql 语言
只看楼主
colorto
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-8-1
结帖率:25%
已结贴  问题点数:16 回复次数:3 
求助 access 数据库复制整条数据库 sql 语言
我要求实现的目的是:要求利用sql语句实现在同一个表格中复制一整行数据到最后一行,
该表格有以下两个特点
1、行有主键,主键自动增加,
2、列标题很多
遇到的问题是 采用sql语句 sql="insert into " & Me.Name & " select * from " & Me.Name & " where 样式名称 = '" & rs.Fields("样式名称") & "'",代码的意思是在me.name表格中复制样式名称为 “参数”的行,然后粘贴到最后一行作为一条新的记录备份
总是提示“由于将在索引、 主关键字、或关系中创建重复的值,请求对表的改变没有成功。 改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。”,我认为主要原因是复制整条记录 在在最后插入记录的时候 主键id号也复制了同样的id,这个时候id却没有自动增加,所以主键重复,复制插入失败,而我打开access数据库,复制整行,然后再粘贴整行的时候 主键是自己增加的,为什么用代码他就不自动增加了呢?请教高手给与指点,感谢

[ 本帖最后由 colorto 于 2014-10-18 23:03 编辑 ]
搜索更多相关主题的帖子: sql语句 access insert 数据库 关键字 
2014-10-18 22:56
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:8 
access  ,如果是自动编号的字段,不会支持写入的。

你检查,其他字段是否 不允许重复,是否建立了索引。

如果都没有,那么你复制记录时,不要把这个自动编号的字段一起复制过来试试。

没用过一条命令复制一条记录来。这机子没装 ACCESS ,没办法测试。

授人于鱼,不如授人于渔
早已停用QQ了
2014-10-18 23:15
colorto
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-8-1
得分:0 
回复 2 楼 风吹过 b
如果删除主键id字段程序可以顺利运行
如果一个字段一个字段的插入可以可以运行,可问题是我的字段有几十个 一个一个插入程序的效率太低,我就是想用几个简单的代码实现类似EXCEl里面复制整行,粘贴整行作为一条新的记录
2014-10-19 13:43
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
得分:8 
大致可以这样解决(假设数据集rst1、rst2均针对相同表已经打开,其中rst1已经定位到要复制的数据,代码如下

  rst2.AddNew
  For i = 0 To rst.Fields.Count - 1
     If Not rst2.Fields(i).Properties("keycolumn").Value Then rst2.Fields(i) = rst1.Fields(i)   '字段不是主键则复制到新记录中
  Next
  rst.Update     '仍然有更新失败的可能,如果字段设置了无重复属性就不能原样复制
2014-10-19 21:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-437404-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.212986 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved