设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 如何将表中字段名类型为自动编号每次都从1开始

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-15 16:27:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
50金钱
如何将表中字段名(id)类型为自动编号每次都从1开始,我每次导数据都是将需要的数据从主表中提取到临时表中,然后再导出到excel,因此首先需要删除临时表中数据。但是(id)就不能从1开始了,请问有没有什么方法使该字段每次在删除数据后,在导入新数据时都从1开始
谢谢

最佳答案

查看完整内容

全部删除记录后,运行以下代码: docmd.runsql "ALTER TABLE [表名] ALTER COLUMN [自动编号字段名] COUNTER (1, 1)"
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2010-9-15 16:27:42 | 只看该作者
全部删除记录后,运行以下代码:
docmd.runsql "ALTER TABLE [表名] ALTER COLUMN [自动编号字段名] COUNTER (1, 1)"
回复

使用道具 举报

点击这里给我发消息

3#
发表于 2010-9-15 22:44:02 | 只看该作者
1.最简单的办法:可删除这个字段,再插入同名的自动ID 字段
2.用代码来重设自动ID的初始值,不过比较复杂. 论坛有相应代码.
回复

使用道具 举报

点击这里给我发消息

4#
发表于 2010-9-16 09:16:25 | 只看该作者
我常用站长介绍的第一种方法。方便得很!
回复

使用道具 举报

5#
发表于 2010-9-16 10:53:48 | 只看该作者
"我每次导数据都是将需要的数据从主表中提取到临时表中"这个时候应该用生成表查询会比较好吧,如果是用生成表查询的话就不存在你说的问题了。个人建议,只供参考。
回复

使用道具 举报

6#
 楼主| 发表于 2010-9-16 10:59:44 | 只看该作者
tmtony 老师能给个例子?谢谢
回复

使用道具 举报

点击这里给我发消息

7#
发表于 2010-9-16 13:00:10 | 只看该作者
每次使用临时表前,可用代码进行一次压缩和修复数据库
回复

使用道具 举报

8#
发表于 2010-9-16 13:02:56 | 只看该作者
本帖最后由 todaynew 于 2010-9-16 13:11 编辑

没有测试,你试试看:

sub 自动编号(tbname as string,MyID as string)
dim strsql as string
strsql = "ALTER TABLE " & tbname & " DROP COLUMN " & MyID
CurrentDb.Execute strsql
strsql = "ALTER TABLE " & tbname & " ADD COLUMN (" & MyID & " Counter)"
CurrentDb.Execute strsql
end sub

如若不中,请参见以下地址的实例:
http://accessoft.com/blog/article-show.asp?userid=10802&Id=4437


回复

使用道具 举报

9#
 楼主| 发表于 2010-9-16 14:39:37 | 只看该作者
谢谢大家的帮助,我挨个试试看哪个更好
谢谢
回复

使用道具 举报

10#
发表于 2010-9-16 16:09:55 | 只看该作者
谢谢大家的帮助,我挨个试试看哪个更好
谢谢
yanwei82123300 发表于 2010-9-16 14:39

本帖子中包含更多资源

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

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-16 13:06 , Processed in 0.107638 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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