MS Access 在两个日期之间选择?

2024-01-27

我已经搜索过,但所有结果都无法帮助我理解。

我需要选择 18-23 岁人员的姓名。 所以我的尝试是:

WHERE ((People.Birth) Between (Now()-Year(18)) And (Now()-Year(23)))

我做错了什么? #some_date# 的解决方案是个坏主意!


对于真正的解决方案,您需要使用DateAdd和这样的函数:

Public Function AgeSimple( _
  ByVal datDateOfBirth As Date) _
  As Integer

' Returns the difference in full years from datDateOfBirth to current date.
'
' Calculates correctly for:
'   leap years
'   dates of 29. February
'   date/time values with embedded time values
'
' DateAdd() is used for check for month end of February as it correctly
' returns Feb. 28. when adding a count of years to dates of Feb. 29.
' when the resulting year is a common year.
' After an idea of Markus G. Fischer.
'
' 2007-06-26. Cactus Data ApS, CPH.

  Dim datToday  As Date
  Dim intAge    As Integer
  Dim intYears  As Integer

  datToday = Date
  ' Find difference in calendar years.
  intYears = DateDiff("yyyy", datDateOfBirth, datToday)
  If intYears > 0 Then
    ' Decrease by 1 if current date is earlier than birthday of current year
    ' using DateDiff to ignore a time portion of datDateOfBirth.
    intAge = intYears - Abs(DateDiff("d", datToday, DateAdd("yyyy", intYears, datDateOfBirth)) > 0)
  End If

  AgeSimple = intAge

End Function

那么你的查询将有这个where clause:

WHERE AgeSimple(People.Birth) Between 18 And 23
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MS Access 在两个日期之间选择? 的相关文章

  • 使用SQL显示组内最小计数和最大计数

    Goal 我正在寻找一种方法来计算等于组的最小值或最大值的项目数 我的物品每隔几天就会收到一次 并且每两周输入一次 我需要查看每个 EntryDate 的最小和最大接收日期 以及最小和最大的项目计数 在 MS Access 中使用 SQL
  • HQL 中的日期比较(不带时间戳)

    我必须比较 hibernate hql 查询中的两个日期 我在 java bean 中使用 java util Date 并在 mysql 数据库中使用时间戳作为数据类型 select t from Task t where t modif
  • sql语句中的[]括号

    sql语句中的括号有什么作用 例如 在声明中 insert into table1 columnname1 columnname2 values val1 val2 另外 如果表名在括号中 它会做什么 标记标识符的分隔符 因此如果您的列名称
  • 慢速网络上的 MS Access 数据库:分离后端是否更快?

    我有一个 Access 数据库 其中包含有关人员的信息 员工资料和相关信息 前端有一个类似控制台的界面 一次修改一种类型的数据 例如一种形式的学位 另一种形式的联系信息 它当前链接到多个后端 一个用于每种类型的数据 一个用于基本配置文件信息
  • 计算两个日期之间的时间差,并给出答案,如“2天3小时前”

    是否有任何用 php 公开编写的类 函数可以获取时间戳 并返回自那时以来经过的时间 天数 月数 年数等 基本上我想要相同的函数来生成与该网站上的每个条目一起呈现的自发布时间 以及在 digg 和其他网站上的负载 这是作为 WordPress
  • 使用 MS Access 在 Excel VBA 中运行代码

    我使用访问前端从 SQL Server 中提取查询 然后 我将记录集导出到新的 Excel 工作簿 然后我想使用 Excel 运行 Access 中的代码 它只是循环遍历单元格并添加格式并检查特定值 我可以从访问权限运行它 它将让工作簿打开
  • 如何向 Ecto.DateTime 添加天数?

    我有一个像这样创建的日期时间 Ecto DateTime from erl 2015 3 10 0 0 0 这是一个凤凰应用程序 我想在没有任何额外第三方库的情况下增加几天 如何 至少从 Elixir 1 5 0 开始 您可以使用DateT
  • 是否有充分的理由不使用 UTC 存储时间?

    我想知道是否有任何充分的理由以 UTC GMT 以外的任何时间存储时间信息 我相信这是所有软件工程的坚实规则 转换为本地时间只是出于显示目的而在 UI 层发生的转换 我还见过需要翻译才能正确实现算法的情况 用于处理午夜日期更改等 一般来说
  • Access 2007 - INSERT 和即时 SELECT 无法检索插入的数据

    我通过 OleDB 在表中插入几行 并立即选择插入的行 我无法以这种方式检索行 我必须等待大约 3 5秒 然后插入的行就会出现在表中 我在数据库本身中观察到了这种行为 我通过 OleDB 插入了行并观察了 Access 中打开的表 3 5
  • new Date() 和日历日期之间的区别

    在实践中 下面两个日期有什么区别 Date date new Date Date date Calendar getInstance getTime 我的理解是 new Date 是基于 UTC GMT 的日期 而日历的 getTime 基
  • 无法使用 RODBC 附加到具有自动编号列的表

    我正在尝试使用 RODBC 将新行插入到 Microsoft Access 数据库中的表中 问题是主键列是一个自动编号 它似乎不允许我省略此列 我正在使用带有append TRUE 的sqlSave 函数和带有单行的数据框 我已经尝试过以下
  • 运行代码(而不是查询)时如何在状态栏上显示进度

    我已经发布了有关在 MS Access 2010 中运行查询时更新状态栏的问题 请参阅在 MS Access 中运行一系列查询时如何在状态栏上显示进度 https stackoverflow com questions 27765376 h
  • 字符串到 ZonedDateTime 正在更改格式

    String ip 2011 05 01T06 47 35 422 05 00 ZonedDateTime mzt ZonedDateTime parse ip toInstant atZone ZoneOffset UTC System
  • 解析 (yyyy-MM-dd) 格式的字符串日期

    我有一个 2013 09 18 形式的字符串 我想将其转换为 java util Date 我正在做这个 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd Date converted
  • MS Access (Jet) 事务、工作区

    我在提交事务 使用 Access 2003 DAO 时遇到问题 它的表现就好像我从未调用过 BeginTrans 我在 CommitTrans 上收到错误 3034 您尝试在未先开始事务的情况下提交或回滚事务 并且更改将写入数据库 大概是因
  • SimpleDateFormat.parse() 忽略模式中的字符数

    我正在尝试解析一个可以具有不同格式的日期字符串 尽管字符串不应与第二个模式匹配 但它却以某种方式匹配 因此返回错误的日期 这是我的代码 import java text ParseException import java text Sim
  • 如何在 Kotlin 中验证输入字符串是否为有效日期?

    So my Kotlin应用程序正在接受一个输入字符串 该字符串应该是某种格式的日期 fun haveFun dateStr String var formatter DateTimeFormatter ofPattern dd MMM y
  • 检查未绑定控件是否具有值的正确方法

    简单场景 一个表单和一个文本框 未绑定 Text1 If lt gt Text1 Then MsgBox Not Empty End If 上面的代码有效 表达方式 lt gt Text1如果文本框包含字符 则计算结果为 True 无论文本
  • 在 PostgreSQL 中使用月份名称排序

    我有一个表 其中有一个字段 Month Name 它包含月份的名称 我想按月份名称排序 不是按字母顺序 而是按实际顺序 例如一月 二月等 如何使用 PostgreSQL 实现此操作 有什么方法可以将月份名称转换为其数值吗 id billed
  • 日期出现奇怪的错误,“未捕获非法访问”

    所以我试图找到最新的DateJavascript 可以处理 我把它减少到 9 月 275760 并增加了我开始捕获未捕获的天数illegal access例外new Date 09 24 275760 to new Date 10 13 2

随机推荐