设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123
返回列表 发新帖
楼主: ycxchen
打印 上一主题 下一主题

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

[复制链接]
21#
 楼主| 发表于 2009-1-24 10:10:12 | 只看该作者
6D版主高明!十分多谢大家!祝各位牛年牛气冲天!
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
23#
发表于 2009-1-24 13:19:08 | 只看该作者

回复 22# 的帖子

要把结尾处的 ; 去掉
24#
 楼主| 发表于 2009-1-24 13:24:58 | 只看该作者
多谢KOUTX的指教!为什么有的SQL语句结尾处有“;”也能正确运行?究竟什么样的情况SQL语句结尾处要“;”的呢?
25#
发表于 2009-1-24 14:07:45 | 只看该作者
劝你还是采用6D版主的作法,那样SQL语句容易调整。如用DLookUp代码,调改时光那些"""""""""在什么地方应该用几个就搅得人头昏脑涨。
查询视图自动生成的后面都有;。在VBA编辑视图中用时应去掉它,起码我都是这样作的。
26#
 楼主| 发表于 2009-1-24 14:52:15 | 只看该作者
谢谢热心的KOUTX!去掉SQL语句结尾处的“;”还不行,确实不知错在哪里。我按22楼的办法试用,只不过是想拓宽自己的思路。
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
28#
 楼主| 发表于 2009-1-25 08:41:54 | 只看该作者
十分多谢6D指教!你真热心!
29#
发表于 2009-3-16 14:00:02 | 只看该作者
看了,好象未能执行
30#
发表于 2009-7-13 10:54:41 | 只看该作者
好东西,拿下,正解我燃眉之急~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-9 14:10 , Processed in 0.093497 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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