设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 6376|回复: 8
打印 上一主题 下一主题

[其它] EXCEL数据导入ACCESS避免重复记录的问题

[复制链接]
跳转到指定楼层
1#
发表于 2006-5-28 18:38:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我利用EXCELVBA循环将一工作表第二行到数据末行的数据导入到ACCESS.现在遇到一个问题:我按命令按钮可导入数据.如果我误操作按了第二次,电脑也会把相同的记录再一次地导入到ACCESS,或者我在原工作表末记录再添加了若干条记录后再按命令按钮,它也同样会把所有记录添加进来,造成原来的记录就有重复.有没有办法可以让电脑判断将加导入ACCESS的记录是原ACCESS记录中没有的,则进行添加,如果已存在相同记录则给出msgbox提示取消本条记录的导入,接下去导入下一记录.备注:ACCESS没设置主键或是索引.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-5-28 21:43:00 | 只看该作者
你将源数据和目标表中的数据进行比较,将不匹配的追加不就可以了。

还有,为什么用VBA循环,SQL 直接导入。

3#
发表于 2006-5-28 22:18:00 | 只看该作者
导入数据后,将被导入的文件挪个地方或更名。
4#
 楼主| 发表于 2006-5-29 00:22:00 | 只看该作者
谢谢二位的回答.对于chul72的疑问解释一下,如果是人工进行对比那就失去自动导入的意义了,另外这是做在EXCELVBE中的代码,等到代码成熟了就可以直接做成一个命令按钮图标,让大家操作了,这其中就包括了不懂ACCESS的人.版主的解答固然也能实现我的要求,可总归感觉不是最优的解.继续期待.
5#
发表于 2006-5-29 02:03:00 | 只看该作者
最好的办法还是设置一个唯一索引。

记录间总能找出具有唯一性的一个或多个字段吧?
6#
发表于 2006-5-29 06:31:00 | 只看该作者
可以将代码写在 acc里面,使用 DoCmd.TransferSpreadsheet 这个试试。

Public Sub xls_to_acctable()

On Error GoTo xls_to_acctable_Err

    DoCmd.TransferSpreadsheet acImport, 8, "tbl_xlssource", CurrentProject.Path & "\" & "1.xls", True, "c4:c20"


xls_to_acctable_Exit:
    Exit Sub

xls_to_acctable_Err:
    MsgBox Error$
    Resume xls_to_acctable_Exit

End Sub


因为每导入一次数据,就追加xls数据到acc表中,所以,导入前要删除acc表中的所有数据

我做了一个例子,你看看是否可以。




[此贴子已经被作者于2006-5-28 22:34:50编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2006-6-4 00:40:00 | 只看该作者
1、在主窗体的如下

Private Sub Form_Open(Cancel As Integer)
   
   '删除表记录
   DoCmd.SetWarnings False

   DoCmd.RunSQL "DELETE Sheet1.* FROM Sheet1;"
   DoCmd.SetWarnings True
   
End Sub

2、按钮导入事件

Private Sub Command1_Click()
On Error GoTo Err_Command1_Click

    If MsgBox("1、请确认已经将需要导入的EXCEL文件命名好并放在'd:\111.xls'!" _
       + Chr(13) + "2、开始导入该文件吗?", vbExclamation + vbYesNo, _
        "请注意!") = vbYes Then
    DoCmd.TransferSpreadsheet acImport, 8, "Sheet1", "d:\111.xls", False, ""
    End If
    MsgBox "数据导入结束!", vbDefaultButton1, "注意"
   
Exit_Command1_Click:
    Exit Sub

Err_Command1_Click:
    MsgBox Err.Description
    Resume Exit_Command1_Click
   
End Sub
8#
发表于 2006-11-10 22:55:00 | 只看该作者
看看
9#
发表于 2008-12-7 13:37:09 | 只看该作者
学习。。每天学一招。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-5 22:25 , Processed in 0.127897 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表