Sql Access 2010:数据行作为列标题?
我正在使用MS Access 2013 我需要基于三个表显示和编辑数据网格:Sql Access 2010:数据行作为列标题?,sql,ms-access,Sql,Ms Access,我正在使用MS Access 2013 我需要基于三个表显示和编辑数据网格: UnitID UnitName 1 Unit1 2 Unit2 3 Unit3 ProdID ProdName 1 Furniture 2 Food 3 Other UnitID ProdID Forecast 1 1 10 1 2
UnitID UnitName
1 Unit1
2 Unit2
3 Unit3
ProdID ProdName
1 Furniture
2 Food
3 Other
UnitID ProdID Forecast
1 1 10
1 2 20
1 3 30
2 1 40
2 2 50
2 3 60
3 1 70
3 2 80
3 3 90
so it looks like:
Unit1 Unit2 Unit3
Furniture 10 40 70
Food 20 50 80
Other 30 60 90
此外,查询必须是可编辑的(用户应该能够输入其预测数据)
你知道如何在Access 2010中做到这一点吗?我研究过数据透视和交叉表查询,但它们使用聚合函数,因此不可编辑。。。但是在我的例子中,数据的来源是明确的,所以应该存在一个可编辑的选项?有人知道如何获得可编辑格式的数据吗
谢谢!
Jur.创建一个临时表,并用交叉表查询中的数据填充它。将该表用作表单的源,该表单将是可编辑的。在表单的beforeupdate事件中,添加代码以更新原始源表。谢谢大家 由于客户端环境中的安全性度量,分发任何类型的exe都不是一个选项(它们可以运行Office和其他功能)。所以我还是选择临时表选项。。。是否有模板解决方案的指针可以根据我的需要进行修改 再次感谢!
Jur.您不能编辑MS Access交叉表,但您可以作弊,例如,这是一个非常经典的设置。据我所知,您应该编辑下部子窗体中的数据,对吗?一个选项是使用C#/WinForms作为前端,并在那里使用未绑定的flex网格。至少这是我最喜欢的方法。@SQLPolice你不需要C#来拥有未绑定的控件。来吧,编辑临时表是最糟糕也是最糟糕的解决方案![我从不投反对票]这有点苛刻。虽然我确实认为OP使用了错误的方法,但它确实提供了一个直观、可行的解决方案。我承认你是对的。我也没有更好的解决方案。至少不在MS Access内。我并不是故意要苛刻,但我只是感到震惊和僵硬,因为我知道编写这样一个表/表单的事件处理程序是多么糟糕。但在Access中没有更好的解决方案。因此,我个人会创建一个带有(未绑定)flexgrid控件的C#前端。您也有更好的导航可能性。同意,一个.NET FE将是一个优雅的解决方案,但我有一种感觉,它将不是OP的一个选项。