2012-07-31 54 views
1

我試圖讓用戶輸入日期3組合框。 「月份」和「年份」組合框非常簡單,但我在日組合框中遇到問題。我希望這是一個智能盒子,因爲它只會顯示基於月份的日子,即。 28月份設置爲2月份,31月份爲1月份。訪問2010日組合框

我只是想知道是否有一個簡單的方法,我應該看看做到這一點,我嘗試了一些不成功的VBA。

我所做的是我基本上使用addItem爲所有天1-28,然後有IF檢查,看看我是否需要29,30或31天。當我從一個月的31天到30天,然後到29/28時,發生了錯誤,因爲它會試圖從列表中刪除31個,但它不會存在,因爲當切換到30天的月份乘坐的時間爲31時。除非有一種方法可以繞過這個我需要一個指向正確方向的指針。

+0

是否有你想要做這一個特別的原因?您可以改爲使用'日期'輸入掩碼,甚至提供日期選擇器 – Scotch 2012-07-31 17:31:17

+0

您可能可以創建一個表來驅動組合框。 – kush 2012-07-31 17:34:33

+0

之所以這樣,是因爲我需要日期和時間,而不是十幾張支票來查看人們如何輸入信息的方式不同。我有這些組合框,所以我對他們如何輸入數據持肯定態度。它工作的很好,我只是想通過讓日子依賴月份和年份組合框來升級它。 – HelloWorld 2012-07-31 17:39:21

回答

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 
+0

我喜歡它非常聰明ty – HelloWorld 2012-07-31 19:42:25