设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 如何用追加查询自动追加编号?

[复制链接]
11#
发表于 2011-12-29 13:38:43 | 只看该作者
1.把查询分两步
即按where a.MenuToCycleCode=700001先建立一个查询作为原表,然后追加到目标表
2.用ado循环追加
12#
发表于 2011-12-29 13:49:21 | 只看该作者
假设新建立的查询为AA
那么AA的语句应该是
  1. SELECT tblMKCycleToMenuDetail.*
  2. FROM tblMKCycleToMenuDetail
  3. WHERE (((tblMKCycleToMenuDetail.MenuToCycleCode)=700001));
复制代码
然后,追加语句如下:
  1. INSERT INTO tblMKCycleToMenuDetail ( MenuDetailChName, MenuDetailCode )
  2. SELECT a.MenuDetailChName, (SELECT count(*)
  3. FROM tblMKCycleToMenuDetail  b
  4. WHERE b.MenuToCycleCode=700001 AND b.id<=a.id)+DMax("MenuDetailCode","tblMKCycleToMenuDetail") AS 表达式1
  5. FROM AA AS a;
复制代码
13#
发表于 2011-12-29 13:52:55 | 只看该作者
当然,你想要写成一个也可以
  1. INSERT INTO tblMKCycleToMenuDetail ( MenuDetailChName, MenuToCycleCode, MenuDetailCode )
  2. SELECT a.MenuDetailChName, a.MenuToCycleCode, (
  3. SELECT count(*)
  4. FROM tblMKCycleToMenuDetail  b
  5. WHERE b.MenuToCycleCode=700001 AND b.id<=a.id)+DMax("MenuDetailCode","tblMKCycleToMenuDetail") AS 表达式1
  6. FROM [SELECT tblMKCycleToMenuDetail.*
  7. FROM tblMKCycleToMenuDetail
  8. WHERE (((tblMKCycleToMenuDetail.MenuToCycleCode)=700001))]. AS a;
复制代码
14#
 楼主| 发表于 2011-12-29 14:00:43 | 只看该作者
Henry D. Sy 发表于 2011-12-29 13:49
假设新建立的查询为AA
那么AA的语句应该是然后,追加语句如下:

好嘞,终于解决了,灰常感谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-3 00:25 , Processed in 0.084035 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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