1

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

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

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

4

1 回答 1

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 
于 2012-07-31T18:20:39.373 回答