设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 4947|回复: 29
打印 上一主题 下一主题

[查询] 追加并自动去除重复数据

[复制链接]
跳转到指定楼层
1#
发表于 2009-1-23 19:09:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在例子中,“进货临时表”是用来储存从“A店进货。XLS”导入的数据的,而“进货表”是用来汇总的。在“进货临时表”中,“货物”为白糖的记录在“进货表”中已存在(重复),而“货物”为饼干、手巾的记录则没有,我想把“进货临时表”中的数据追加到“进货表”中,且能自动把重复的数据去除。在本例子中,即把“进货临时表”中“货物”为饼干、手巾的记录追加到“进货表”中,而,“货物”为白糖的记录则不追加。
       为达到目的,我创建了一个追加查询,运行后达不到目的。请问,如何修改?

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
30#
发表于 2009-7-13 10:54:41 | 只看该作者
好东西,拿下,正解我燃眉之急~~
29#
发表于 2009-3-16 14:00:02 | 只看该作者
看了,好象未能执行
28#
 楼主| 发表于 2009-1-25 08:41:54 | 只看该作者
十分多谢6D指教!你真热心!
27#
发表于 2009-1-24 21:16:16 | 只看该作者
最简单的办法就把
INSERT INTO 进货表 ( 商场ID, 日期, 货物 )
SELECT 进货临时表.商店ID, 进货临时表.日期, 进货临时表.货物
FROM 进货临时表 LEFT JOIN 进货表 ON (进货临时表.日期=进货表.日期) AND (进货临时表.商店ID=进货表.商场ID)
WHERE (((DLookUp("货物","进货表","货物 = '" & 进货临时表!货物 & "'")) Is Null) And ((进货表.商场ID) Is Null))
保存为“Q”
然后
Private Sub Command0_Click()
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "Q"
    DoCmd.SetWarnings True
End Sub
26#
 楼主| 发表于 2009-1-24 14:52:15 | 只看该作者
谢谢热心的KOUTX!去掉SQL语句结尾处的“;”还不行,确实不知错在哪里。我按22楼的办法试用,只不过是想拓宽自己的思路。
25#
发表于 2009-1-24 14:07:45 | 只看该作者
劝你还是采用6D版主的作法,那样SQL语句容易调整。如用DLookUp代码,调改时光那些"""""""""在什么地方应该用几个就搅得人头昏脑涨。
查询视图自动生成的后面都有;。在VBA编辑视图中用时应去掉它,起码我都是这样作的。
24#
 楼主| 发表于 2009-1-24 13:24:58 | 只看该作者
多谢KOUTX的指教!为什么有的SQL语句结尾处有“;”也能正确运行?究竟什么样的情况SQL语句结尾处要“;”的呢?
23#
发表于 2009-1-24 13:19:08 | 只看该作者

回复 22# 的帖子

要把结尾处的 ; 去掉
22#
 楼主| 发表于 2009-1-24 12:22:38 | 只看该作者
按7楼的例子,单独运行“追加”查询可以达到目的,但写成VBA语句,编译时说语法错误,不知错在哪里,盼大家指教。代码如下:
Private Sub Command23_Click()
Dim sql As String
sql = "INSERT INTO 进货表 ( 商场ID, 日期, 货物 ) SELECT 进货临时表.商店ID, 进货临时表.日期, 进货临时表.货物 FROM 进货临时表 LEFT JOIN 进货表 ON (进货临时表.日期 = 进货表.日期) AND (进货临时表.商店ID = 进货表.商场ID) WHERE (((DLookUp("货物","进货表","货物 = '" & [进货临时表]![货物] & "'")) Is Null) AND ((进货表.商场ID) Is Null));"
DoCmd.RunSQL sql
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-21 06:56 , Processed in 0.171646 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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