设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3088|回复: 13
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-28 23:26:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如图

如何用追加查询实现这样的编号追加功能,谢谢各位大侠。

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
14#
 楼主| 发表于 2011-12-29 14:00:43 | 只看该作者
Henry D. Sy 发表于 2011-12-29 13:49
假设新建立的查询为AA
那么AA的语句应该是然后,追加语句如下:

好嘞,终于解决了,灰常感谢。
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;
复制代码
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;
复制代码
11#
发表于 2011-12-29 13:38:43 | 只看该作者
1.把查询分两步
即按where a.MenuToCycleCode=700001先建立一个查询作为原表,然后追加到目标表
2.用ado循环追加
10#
 楼主| 发表于 2011-12-29 13:30:06 | 只看该作者
Henry D. Sy 发表于 2011-12-29 11:44

Henry,这段代码只能用于全部字段复制,如果我只需要 where a.MenuToCycleCode=700001呢,这样编号就不连续了,有办法解决吗?
9#
 楼主| 发表于 2011-12-29 12:10:26 | 只看该作者
Henry D. Sy 发表于 2011-12-29 11:44

谢谢 Henry版主了,学习中。
8#
 楼主| 发表于 2011-12-29 11:46:36 | 只看该作者
Henry D. Sy 发表于 2011-12-29 11:18
你库中只有一个表,哪里来表1,表2?

就是把表中内容追加到本身后面,编号自动加1,用追加查询怎么做呢?
7#
发表于 2011-12-29 11:44:40 | 只看该作者
  1. INSERT INTO tblMKCycleToMenuDetail ( MenuDetailChName, MenuDetailCode )
  2. SELECT a.MenuDetailChName, (SELECT count(*)
  3. FROM tblMKCycleToMenuDetail  b
  4. WHERE b.id<=a.id)
  5. +DMax("MenuDetailCode","tblMKCycleToMenuDetail")
  6. FROM tblMKCycleToMenuDetail a
复制代码
6#
发表于 2011-12-29 11:18:33 | 只看该作者
你库中只有一个表,哪里来表1,表2?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-3 00:22 , Processed in 0.119685 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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