我正在尝试为用户输入3个组合框来输入日期。月份和年份组合框非常简单,但我遇到了日组合框的问题。我希望这是一个智能盒子,因为它只会根据月份显示天数,即。 28月份设定为2月份,31月份设定为1月份。
我只是想知道是否有一种简单的方法来实现这一点,我尝试了一些不成功的VBA。
我所做的是,我基本上在所有第1-28天使用addItem
,然后进行IF
检查,看看我是否需要29天,30天或31天。错误发生在我从31个月到30个月然后到29/28的时候,因为它会尝试从列表中删除31个,但是当它切换到30天的月份时,它将不会存在31个除非有一种方法可以绕过这个我需要一个指向正确方向的指针。
答案 0 :(得分: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