MS Access,修改组合框数据类型

时间:2015-04-29 01:24:02

标签: ms-access combobox

对于MS Access来说相当新的(已经有6到7个月的时间了,并且几乎是自学成才,我在谷歌和Stackoverflow的更改中大肆宣传)并正在开发一个允许数据库的数据库表单用户可以在报告中创建报告并指定他们想要的内容。

如何设置用户有一个预先填充的列表,并且在他们选择报告是否显示某个财政期间发生的项目的位置没有变化,非 - 在某个财政期间或某个项目系列中发生的与项目相关的旅行(我们现在称之为NPT)。

第二个列表(也是预先填充且不可更改的)仅在选择第一个列表中的第一个或第二个项目时激活。它允许用户选择会计期间并提供以下选项:会计年度,会计季度,月份或同比比较。

一旦选择了这两个列表中的某个项目,它就会根据表格中可用的内容选项填充一个或两个组合框的列表。

第一个组合框将始终填充并可见,它填充了更改的内容。如果选择会计年度,会计季度,月份或同比选项,则第一个组合框将填充可用的会计年度,如果选择了项目系列选项,则会填充系列列表名。

还有第二个组合框,但它与我的问题无关,所以我会详细说明。

我的问题来自第一个组合框。现在,当您打开表单的新实例时,没有为组合框分配数据类型,但是让我们说用户想要在会计年度中按项目创建报表,并且他/她在组合框中选择会计年度然后改变主意,决定按项目系列做一份报告。当您尝试在早于财政年度填充的组合框中选择项目系列名称时,会弹出一条错误消息,指出您正在尝试将文本输入到数字数据类型字段中。

所以我的问题是,有没有办法以编程方式更改第一个列表的AfterUpdate Sub中第一个组合框的允许数据类型?

以下是第一个列表AfterUpdate Sub(RptByType是第一个列表)的示例:

Me.combobox1.RowSource = Switch(RptByType = Project, _
"SELECT DISTINCT Proj.FiscYr FROM Proj ORDER BY Proj.FiscYr DESC;", _
RptByType = Trips, "SELECT DISTINCT NPT.FiscYr FROM NPT ORDER BY NPT.FiscYr DESC;", _
RptByType = Projseries, "SELECT DISTINCT Proj.SeriesNm FROM Proj;")

FiscYr再次采用整数格式,而SeriesNm采用String格式,同时combobox1不是绑定字段

0 个答案:

没有答案