我正在尝试基于表在Access中创建表单,我想使用表的rowdata作为表单中的列标题。
我的意思是,我有一张如下表格,显示员工每月为特定项目预定的工作量:
ProjectNo EmployeeName HoursBooked Month/Year
23 Mark 68 01/01/2012
23 Mark 55 01/02/2012
54 John 22 01/02/2012
23 John 52 01/02/2012
...等
从此我想创建一个单一形式,其中每个项目的数据显示如下。例如,对于项目23:
Month/Year Mark John
01/01/2012 68 0
01/02/2012 55 52
并且有人应该能够转到此表单,编辑数字,表格应反映这些变化。
有人可以指导我如何实现这一目标吗?我一直试图在Access中实现这一点,但不幸的是我的表单知识并不是那么好。
谢谢!
答案 0 :(得分:1)
假设第一种形式有名字:FrmProject&项目ID显示在ProjectID控件中。 第二种形式是名称FrmProjectDetails。考虑到项目数据存储在表TblPorjects中。
在FrmProject中的ProjectID控件的Click事件上,您可以编写如下代码:
Private Sub ProjectID_Click()
docmd.open "FrmProjectDetails"
Form_FrmProjectDetails.RecordSource= "select * from TblProjects where ProjectID=" & Me.ProjectID
End Sub
答案 1 :(得分:0)
使用向导创建交叉表查询。它会给你你想要的。您可以将子窗体控件的源对象设置为Query.NameOfCrosstabQuery
。
但是,您将无法根据交叉表编辑表单数据。
如果您说出希望以这种方式呈现数据的原因,有人可能会看到替代解决方案。
编辑有关可能方法的一些细节:http://wiki.lessthandot.com/index.php/Crosstabs%2C_forms_and_updating