在Access 2007中创建年份下拉列表

时间:2011-01-05 17:26:58

标签: ms-access ms-access-2007

我如何创建一个年份下拉列表(比如NOW 2011和100年前),然后用户可以选择适当的年份。

非常感谢任何建议或指示。

干杯

诺尔

编辑解决方案:

如果有人需要这个,那么Philippe的代码中会有一些小错误,以下内容对我有用:

Dim myYearArray(100) As String, myYearList As String, i As Integer

For i = 0 To 100
    myYearArray(i) = CStr(Year(DateAdd("yyyy", i * -1, Date)))
Next i
myYearList = Join(myYearArray, ";")

MyForm.MyCmbBox.RowSource = myYearList

3 个答案:

答案 0 :(得分:2)

将您想要的年份放在表格中并将下拉列表绑定到表格中。

答案 1 :(得分:2)

Beth给出了部分答案,但更具体一点:将组合框的Rowsource属性设置为Years表(或者从该表中选择该列的SQL语句 - 可能还有其他列) ,取决于你想用它做什么)。您可以在其他位置设置控制源以存储用户的选择。

答案 2 :(得分:2)

假设您要填充的控件名为myYear,其rowsource类型设置为“value list”。您只需要生成其rowsource,作为字符串,其中值以“;”分隔。你可以这样做:

Dim myYearArray(100) as string, myYearList as string, i as integer

for i = 1 to 100
    myYearList(i) = cstr(year(dateAdd("yyyy", i * -1,date()))
next i
myYearList = join(myYearList,";")
myForm.myYear.rowSource = myYearList

生成的组合框将以当前年份开始(第一个值)并包含过去100年。我没有测试它,我可能错过了一个括号或引号,但这个想法就在这里。