Access交流中心

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

在ACCESS中如何提取一个表中最后一条记录的某个字段的值?

网络蜘蛛  发表于:2013-02-08 10:13:13  
复制

我想提取数据库中一个表最后一条记录的某一个字段的值,把这个值赋值给变量str。
dim str as string
str=
"str="后面的代码怎么写?

 

Top
宏鹏 发表于:2013-02-08 10:43:23
如果主键是自动编号的,可以用max取最大编号的记录;或者也可以用记录集的形式,移到最后一条记录,取当前字段的值

网络蜘蛛 发表于:2013-02-08 10:51:16

不是ACCESS自带的“自动编号”,所以才想提取最后一条记录的主键值,根据这个值再自动生成新建记录的主键值。

我想了一个方法不知道可以不可以

str=DLookup("[验收单号]", "select top 1 * from 单据号 by 验收单号 desc") 

“验收单号”是“单据号”表的主键。



殷小宝 发表于:2013-02-08 20:28:26
str=DLookup("[验收单号]", "select top 1 * from 单据号 by 验收单号 desc")

这种用法不可以,DLookup用法是:中间为表或查询名,不可以为SQL语句。



殷小宝 发表于:2013-02-09 19:29:34

'如果没有前缀,

str=dmax("验收单号","单据号")

'如果有前缀,且前缀为X

str=dmax("验收单号","单据号","验收单号 like " & " X*")

 



dbaseIIIer 发表于:2013-02-10 08:24:38

所有 D函数 都是慢的读取数据的方法,用 access 数据源,又想处理快的话,


set rs = currentdb.openrecordset("表名")

rs.index = "PrimaryKey"

if not rs.eof then 

    rs.moveLast

    max = rs!单号

end if




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