Office中国论坛/Access中国论坛

标题: 【求助】两表间的复制操作与非绑定记录源的记录定位 [打印本页]

作者: 寄忧谷    时间: 2015-5-15 01:12
标题: 【求助】两表间的复制操作与非绑定记录源的记录定位
本帖最后由 寄忧谷 于 2015-5-15 01:31 编辑

一张表是模板,一张表示实际用的,希望在窗体“frm应用指令”填写实际用的指令内容时能省点时间,直接从模板copy指令内容,然后再修改存入实际用的表。解决问题的想法是,文本里输入指令关键字段,点击“载入模板”,根据关键字段定位到模板表的某一行,然后将这一行复制到应用表的新纪录,然后再窗体显示相应字段。就是非绑定记录源的字段定位和表间复制行的代码搞不懂,萌新请大牛相助!数据库请看附件,文件为accdb模式。

作者: 寄忧谷    时间: 2015-5-15 01:33
找到一些代码 将选定的记录的内容复制到新的记录中 DoCmd.GoToRecord ,,acLast DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdCopy Docmd.GoToRecord ,,acNewRec DoCmd.RunCommand acCmdPaste
作者: 寄忧谷    时间: 2015-5-15 02:56
大家好,问题解决了,但出现个小问题,代码如下:
作者: 寄忧谷    时间: 2015-5-15 02:59
大家好,问题基本解决了,但复制记录时会报错说大概是说主键不能重复,但我的b表完全是新表啊,怎么会出现主键重复的问题呢?代码如下
    Dim SQL As String
    Text6.SetFocus
    编码 = Me.Text6.Text
    SQL = "Insert into tbl应用令号(编码,令号名,截止时间) select 编码,令号名,截止时间 from tbl模板令号 where 编码='" & 编码 & "'"
    DoCmd.RunSQL SQL



作者: 寄忧谷    时间: 2015-5-15 16:14
报告,问题已解决,稍微绕了点路,将主键由“编码”改为数据类型为自动编码的“id”,实现了功能。但还是有点纳闷,复制源表的主键会报告索引或主键重复,报错后我打开了之前为空记录的追加表,发现确实有两条主键重复的记录,一条只有主键有数值,其他没有成功复制,另一条是正常的。纳闷了,希望大哥们指点!

作者: roych    时间: 2015-5-16 10:42
主键是不能重复,也不能为空的。所以如果是从excel导入的话,建议导入之前先删除重复值【2010版本的数据窗格里有这个功能】。
作者: zpy2    时间: 2015-5-17 05:08
寄忧谷 发表于 2015-5-15 02:59
大家好,问题基本解决了,但复制记录时会报错说大概是说主键不能重复,但我的b表完全是新表啊,怎么会出现 ...

这句应可以的




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3