Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

Access自动编号问题

ada  发表于:2009-04-15 21:51:58  
复制

我在Access表中设置了一个ID字段,为自动编号,我设置的格式是1000,意思是希望它从10001开始自动编号,在数据表里显示没有问题,显示的就是10001开始,但是我把这个数据表在.net里进行操作的时候就发现了问题,比如我在一个SQL语句里写:select * from table where ID=10001,它不会给我显示数据,而当我写成select * from table where ID=1,它就可以显示了,这是不是意味着我的这个自动编号是失败的,因为它的真实数据还是1,而不是我期望的10001。

 

求教高手如何解决这个问题!

非常感谢!

 

Top
竹笛 发表于:2009-04-15 22:20:30

表中数字是1,只不过显示为10001了,所以必须当作1来对待。

如果你想真实数据为10001那么,就不能用自动编号,而应该在你的程序代码中来实现自动编号功能。



ACMAIN.CHM 发表于:2009-04-16 00:22:28
实际的数据 和 数据的显示 是两会事儿。

华尔街风水师 发表于:2009-05-08 07:44:59

你这样试一下:

1。先把ID的属性由自动编号,改为数字或者文本。我试过,文本或者数字都可以运行的。

2.SELECT [ID]+10000 AS 新编号, [111].姓名, [111].语文
FROM 111
WHERE ((([ID]+10000)=10001));

结果,可以达到你的要求。

 



李李 发表于:2009-05-08 11:17:18

三楼的!你的我试了一下!结果总是停留在10000上!



华尔街风水师 发表于:2009-05-08 13:31:50


华尔街风水师 发表于:2009-05-08 13:34:39
华尔街风水师 发表于:2009-05-08 14:22:52
其实ID的自动编号属性不用改,照样可行的。我刚试过的。

华尔街风水师 发表于:2009-05-09 07:03:28
可自定义函数MyNo()
Function MyNo()
Dim ID,date2 as string
date2=format(date(),"YYYYMMDD")
ID=dmax("[NO]","[tablename]","[NO] Like '" & date2 &"????'")
if isnull(Id) then 
MyNo=date2 & "0001"
else
MyNo=date2 & Format(CStr(CInt(Right(ID, 4)) + 1), "0000")
End Function 
用时 me![编号]=MyNo 即可! 
你试一下这个函数,不是我写的,是我抄袭别人的。 


总记录:8篇  页次:1/1 9 1 :