Access交流中心

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

关于计算字段的date

YANG  发表于:2012-06-17 00:15:48  
复制

小弟新手,创建的人员名单表有出生日期和年龄字段,我想把年龄字段属性设置为计算,通过键入出生日期自动生成年龄,这样的问题在EXCEL中实在太简单了,可是表的字段属性计算能够使用的函数没有DATE,

把表创建为窗体就大不一样了,年龄文本框可用的函数堪舆EXCEL媲美,可以轻松地生成年龄,

可是问题又来了,窗体生成的年龄在表里不显示,打开表,年龄字段全部为空值,

这可怎么办呢?

 

Top
网行者 发表于:2012-06-17 06:19:58

1、按照Access三范式要求,表中不应该有计算字段(年龄字段),因为年龄是变化的

2、如需查阅年龄,可在查询中计算,再在窗体中以该查询为数据源。或在纵栏式窗体中,增加非绑定的计算文本框,控件来源:=Year(Date())-Year([出生日期])



YANG 发表于:2012-06-17 10:32:30
谢谢网行者老师。。。。。。。。。

风语 发表于:2012-07-08 08:49:56

DateDiff 函数

       

返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。

语法

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

DateDiff 函数语法中有下列命名参数

部分 描述
interval 必要。字符串表达式,表示用来计算date1date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。

设置

interval 参数的设定值如下:

设置 描述
yyyy
q
m
y 一年的日数
d
w 一周的日数
ww
h
n 分钟
s

firstdayofweek 参数的设定值如下:

常数 描述
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

常数 描述
vbUseSystem 0 用 NLS API 设置。
vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。
vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。
vbFirstFullWeek 3 从第一个无跨年度的星期开始。

说明

DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。

为了计算 date1date2 相差的日数,可以使用“一年的日数”(y) 或“日”(d)。当 interval 是“一周的日数”(w) 时,DateDiff 返回两日期间的周数。如果 date1 是星期一,DateDiff 计算到 date2 为止的星期一的个数。这个数包含 date2 但不包含 date1。不过,如果 interval 是“周”(ww),则 DateDiff 函数返回两日期间的“日历周”数。由计算 date1date2 之间星期日的个数而得。如果 date2 刚好是星期日,则 date2 也会被加进 DateDiff 的计数结果中;但不论 date1 是否为星期日,都不将它算进去。

如果 date1 date2 来得晚,则 DateDiff 函数的返回值为负数。

firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。

如果 date1 date2 日期文字,则指定的年份成为该日期的固定部分。但是,如果 date1 date2 用双引号 (" ") 括起来,且年份略而不提,则在每次计算表达式 date1 date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。

在计算 12 月 31 日和来年的 1 月 1 日的年份差时,DateDiff 返回 1 表示相差一个年份,虽然实际上只相差一天而已。



麥田 发表于:2013-03-05 21:28:00
【Access扫盲知识】日期时间相减得出年数差的示例,DateDiff函数用法[Access软件网]
http://www.accessoft.com/article-show.asp?id=7977

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