【问题标题】:Access 2010 Day Combo Box访问 2010 日组合框
【发布时间】:2012-08-01 02:20:39
【问题描述】:

我正在尝试使用 3 个组合框供用户输入日期。月份和年份组合框非常简单,但我在使用日期组合框时遇到了问题。我希望这是一个智能盒子,因为它只会显示基于月份的天数,即。如果月份设置为二月,则为 28;如果一月,则为 31。

我只是想知道是否有一种简单的方法可以实现这一点,我尝试了一些不成功的 VBA。

我所做的是,我基本上在 1-28 的所有日子里都使用了 addItem,然后让 IF 检查我是否需要 29、30 或 31 天。当我从一个有 31 天的月份到 30 天,然后到 29/28 时发生错误,因为它会尝试从列表中删除 31,但是当切换到 30 天的月份时,它就不存在了 31。除非有办法绕过这个我需要一个指向正确方向的指针。

【问题讨论】:

  • 您是否有特殊原因要这样做?您可以改为使用“日期”输入掩码,甚至提供日期选择器
  • 您也许可以创建一个表格来驱动组合框。
  • 这样做的原因是因为我需要日期和时间,而不是进行十几个检查以查看人们输入信息的方式不同我有这些组合框,所以我对他们如何输入持肯定态度数据。它工作得很好我只是想通过让天依赖于月份和年份组合框来升级它。
  • 是否已经构建了一个设备来处理这个问题?.. Jet 和 SQL Server DATE 数据类型是否检测无效日期并处理日期算术?

标签: combobox ms-access-2010


【解决方案1】:

你可以这样说:

Me.cboDay.RowSource = "SELECT Number " _
& "FROM MyNumbersTable " _
& "WHERE Number < = " & Day(DateSerial(Me.cboYear,Me.cboMonth+1,0))

MyNumersTable 是一个整数表

注意

Day(DateSerial(2012,2+1,0)) = 29 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    相关资源
    最近更新 更多