在我的ms访问项目中,我有一个表CustomerT
和3列2012
2013
2014
。我创建了一个名为TestForm
的表单,其中包含一个名为MyGraph
的图表和一个名为SelectYear
的组合框。在我的图表行源中,我有一个名为qGraph
SELECT CustomerT.[2012], CustomerT.[2013], CustomerT.[2014]
FROM CustomerT;
以下查询的示例数据
2012 2013 2014
2.344 3.223 7.11
5.23 23.27 21.23
3.234 12.45 67.23
4.235 7.234 53.56
当我打开表单时,我得到一个图表作为输出。
我想要做的是,如果我从组合框中选择2013,2014或2012年的一年,我想更改下面的查询
SELECT CustomerT.[2012] FROM CustomerT;
CustomerT.[2012]
将根据所选年份进行更改,这也会更改图表。我想使用vba代码生成器来做到这一点。我在想这样的事情
Private Sub SelectYear_Click()
'code with a query to change the graph
With Me.MyGraph.Axes(1)
.MaximumScale = 2015
.MinimumScale = 2010
End With 'X-Axis
End Sub
如何在ms访问中实现此功能?
答案 0 :(得分:0)
我不确定你想用这张表做什么,但是我认为每年只有一个列不是一个好的设计。
要回答您的问题,您可以在更新组合框后更改表单的RecordSource属性:
Private Sub SelectYear_AfterUpdate()
Dim strRecordSource As String
strRecordSource = "SELECT CustomerT.[" & Me.SelectYear & "] FROM CustomerT;"
Me.RecordSource = strRecordSource
End Sub
我没有测试,但我认为它应该可行。当您打开表单以设置包含所有列的默认RecordSource时,您也可以执行相同的操作:
strRecordSource = "SELECT * FROM CustomerT;"