以表格形式绘制单个道路随时间变化的状况
Graph an individual road's condition over time in a form
我在 MS Access 数据库中有一个 road_insp
查询:
+---------+---------+-----------+-----------+
| INSP_ID | ROAD_ID | INSP_YEAR | CONDITION |
+---------+---------+-----------+-----------+
| 1 | 100 | 2009 | 1 |
| 2 | 100 | 2011 | 0.95 |
| 3 | 100 | 2012 | 0.9 |
| 4 | 100 | 2015 | 0.85 |
| 5 | 100 | 2017 | 0.8 |
+---------+---------+-----------+-----------+
| 6 | 200 | 2009 | 0.75 |
| 7 | 200 | 2011 | 0.7 |
| 8 | 200 | 2013 | 0.65 |
| 9 | 200 | 2017 | 0.6 |
+---------+---------+-----------+-----------+
| 10 | 300 | 2009 | 0.55 |
| 11 | 300 | 2011 | 0.5 |
| 12 | 300 | 2014 | 0.45 |
| 13 | 300 | 2015 | 0.4 |
| 14 | 300 | 2017 | 0.35 |
| 15 | 300 | 2017 | 0.3 |
+---------+---------+-----------+-----------+
| 16 | 400 | 2009 | 0.25 |
| 17 | 400 | 2011 | 0.2 |
| 18 | 400 | 2014 | 0.15 |
| 19 | 400 | 2015 | 0.1 |
| 20 | 400 | 2017 | 0.05 |
+---------+---------+-----------+-----------+
我想创建一个表单,其中包含 每条道路的记录。表格中的每条记录都有一个折线图,显示道路随时间的状况。
我试过的:
我可以做一些接近我想要的事情:
我可以在基础查询中使用 where
子句来限制检查记录仅包含 road #1
。虽然这看起来可以实现我想要的,但不幸的是,它并不完全正确。我无法导航到其余的道路。
相反,我可以删除查询中的where
子句以包括所有检查记录。同样,这在表格中给了我一条记录,但这次它显示了所有道路的平均值。不幸的是,这也不是我想要的:
如何以表格形式绘制单条道路随时间变化的状况?
- 使用报告,而不是表格。
- 将报表 RecordSource 设置为 Road_Insp table
- 在报告中为 Road_ID 创建一个组(Insp_Year 和条件进入详细信息部分)
- 在 Road_ID 组 header 中放置一个名为 tbxRoad
的文本框
- 在组 header 部分创建折线图,只需让向导使用任何 RowSource 构建它即可
- 将图表 RowSource 更改为
SELECT Insp_Year, Condition FROM [Road_Insp] WHERE Road_ID = tbxRoad;
或者,如果您真的更喜欢一种形式,则 RecordSource 形式必须是不同 Road_ID 值的记录集,例如 SELECT DISTINCT Road_ID from Road_Insp;
或唯一道路 ID 的 table。然后 tbxRoad 和图表将进入表单的详细信息部分。无法包含 Insp_Year 和条件字段(或将它们放在图表旁边的子表单或列表框中)。
我在 MS Access 数据库中有一个 road_insp
查询:
+---------+---------+-----------+-----------+
| INSP_ID | ROAD_ID | INSP_YEAR | CONDITION |
+---------+---------+-----------+-----------+
| 1 | 100 | 2009 | 1 |
| 2 | 100 | 2011 | 0.95 |
| 3 | 100 | 2012 | 0.9 |
| 4 | 100 | 2015 | 0.85 |
| 5 | 100 | 2017 | 0.8 |
+---------+---------+-----------+-----------+
| 6 | 200 | 2009 | 0.75 |
| 7 | 200 | 2011 | 0.7 |
| 8 | 200 | 2013 | 0.65 |
| 9 | 200 | 2017 | 0.6 |
+---------+---------+-----------+-----------+
| 10 | 300 | 2009 | 0.55 |
| 11 | 300 | 2011 | 0.5 |
| 12 | 300 | 2014 | 0.45 |
| 13 | 300 | 2015 | 0.4 |
| 14 | 300 | 2017 | 0.35 |
| 15 | 300 | 2017 | 0.3 |
+---------+---------+-----------+-----------+
| 16 | 400 | 2009 | 0.25 |
| 17 | 400 | 2011 | 0.2 |
| 18 | 400 | 2014 | 0.15 |
| 19 | 400 | 2015 | 0.1 |
| 20 | 400 | 2017 | 0.05 |
+---------+---------+-----------+-----------+
我想创建一个表单,其中包含 每条道路的记录。表格中的每条记录都有一个折线图,显示道路随时间的状况。
我试过的:
我可以做一些接近我想要的事情:
我可以在基础查询中使用
where
子句来限制检查记录仅包含road #1
。虽然这看起来可以实现我想要的,但不幸的是,它并不完全正确。我无法导航到其余的道路。相反,我可以删除查询中的
where
子句以包括所有检查记录。同样,这在表格中给了我一条记录,但这次它显示了所有道路的平均值。不幸的是,这也不是我想要的:
如何以表格形式绘制单条道路随时间变化的状况?
- 使用报告,而不是表格。
- 将报表 RecordSource 设置为 Road_Insp table
- 在报告中为 Road_ID 创建一个组(Insp_Year 和条件进入详细信息部分)
- 在 Road_ID 组 header 中放置一个名为 tbxRoad 的文本框
- 在组 header 部分创建折线图,只需让向导使用任何 RowSource 构建它即可
- 将图表 RowSource 更改为
SELECT Insp_Year, Condition FROM [Road_Insp] WHERE Road_ID = tbxRoad;
或者,如果您真的更喜欢一种形式,则 RecordSource 形式必须是不同 Road_ID 值的记录集,例如 SELECT DISTINCT Road_ID from Road_Insp;
或唯一道路 ID 的 table。然后 tbxRoad 和图表将进入表单的详细信息部分。无法包含 Insp_Year 和条件字段(或将它们放在图表旁边的子表单或列表框中)。