以月和年为单位计算年龄

您所在的位置:网站首页 如何在access中计算年龄 以月和年为单位计算年龄

以月和年为单位计算年龄

2024-07-17 21:10| 来源: 网络整理| 查看: 265

如何创建两个函数来计算 Access 中的月份和年份的年龄 项目06/11/2024 适用于: Access 2007, Access 2003, Access 2002

高级:需要专家编码、互操作性和多用户技能。

本文适用于 Microsoft Office Access 数据库 (.accdb 和 .mdb) 以及 Microsoft Access 项目 (.apd) 。

摘要

本文介绍如何创建两个函数,可用于根据指定的日期计算个人或事物的年龄。

注意

可以在示例文件 Qrysmp00.exe 中查看本文中使用的技术演示。

更多信息 创建函数

在模块中键入或粘贴以下代码:

'========================================================== ' General Declaration '========================================================== Option Explicit '************************************************************* ' FUNCTION NAME: Age() ' ' PURPOSE: ' Calculates age in years from a specified date to today's date. ' ' INPUT PARAMETERS: ' StartDate: The beginning date (for example, a birth date). ' ' RETURN ' Age in years. ' '************************************************************* Function Age (varBirthDate As Variant) As Integer Dim varAge As Variant If IsNull(varBirthdate) then Age = 0: Exit Function varAge = DateDiff("yyyy", varBirthDate, Now) If Date < DateSerial(Year(Now), Month(varBirthDate), _ Day(varBirthDate)) Then varAge = varAge - 1 End If Age = CInt(varAge) End Function '************************************************************* ' FUNCTION NAME: AgeMonths() ' ' PURPOSE: ' Compliments the Age() function by calculating the number of months ' that have expired since the last month supplied by the specified date. ' If the specified date is a birthday, the function returns the number of ' months since the last birthday. ' ' INPUT PARAMETERS: ' StartDate: The beginning date (for example, a birthday). ' ' RETURN ' Months since the last birthday. '************************************************************* Function AgeMonths(ByVal StartDate As String) As Integer Dim tAge As Double tAge = (DateDiff("m", StartDate, Now)) If (DatePart("d", StartDate) > DatePart("d", Now)) Then tAge = tAge - 1 End If If tAge < 0 Then tAge = tAge + 1 End If AgeMonths = CInt(tAge Mod 12) End Function 测试 Age () 和 AgeMonths () Functions

若要测试 Age () 和 AgeMonths () 函数,请执行以下步骤。

重要

以下步骤要求更改计算机上的日期。 请确保完成步骤 6 以将日期重置为当前日期。

通过使用控制面板中的日期/时间工具,记下当前日期,然后将日期设置为 2001 年 6 月 3 日。

打开模块或创建新模块。

在“视图”菜单上,单击“即时窗口”。

假设你朋友的出生日期是 1967 年 11 月 15 日,今天是 2001 年 6 月 3 日。 在“即时”窗口中键入以下行,然后按 Enter:

?年龄 (“11/15/67”)

请注意,Microsoft Access 的响应值为 33 (年) 。

键入以下行,然后按 Enter:

?AgeMonths (“11/15/67”)

请注意,Microsoft Access 的响应值为 6,表示自此人的上一个生日以来已过了 6 个月。 你的朋友已经 33 岁 6 个月大了。

使用控制面板中的“日期/时间”工具,将日期重置为步骤 1 中记录的当前日期。

使用 Age () 和 AgeMonths () Functions

以下过程说明如何通过在新控件中放置年龄值来标记旧订单。

在示例数据库Northwind.mdb中,在新模块中键入 Age () 和 AgeMonth () 函数。

在“设计”视图中打开“订单”窗体,并添加未绑定的文本框控件。

在新文本框控件的 ControlSource 属性中键入以下行:

=Age ([OrderDate]) & “yrs” & AgeMonths ([OrderDate]) & “mos”

在窗体视图中查看窗体。 请注意,订单的期限显示在新文本框控件中。

参考

有关日期差异的详细信息,请在 Visual Basic 编辑器中单击“帮助”菜单上的“Microsoft Visual Basic 帮助”,在“Office 助手”或“答案向导”中键入 datediff 函数,然后单击“搜索”查看文章。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3