2012-01-18 34 views
0

我想在表中創建一個基於表格的表格,我想使用表格的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中實現這一點,但不幸的是我的Forms知識並不是那麼棒。

謝謝!

回答

0

使用嚮導創建交叉表查詢。它會給你你想要的。您可以將子窗體控件的源對象設置爲Query.NameOfCrosstabQuery

但是,您將無法基於交叉表編輯表單數據。

如果您說爲什麼要以這種方式呈現數據,有人可能會看到另一種解決方案。

編輯上一種可能的方法的一些細節:http://wiki.lessthandot.com/index.php/Crosstabs%2C_forms_and_updating

+0

注意,交叉表查詢產生變化的列名,因此很難將這些列綁定到文本框。 – 2012-01-18 21:00:16

+0

@ Olivier是的。如果必須包含這種類型的視圖,最好使用查詢作爲源對象的子窗體,如此處所示,從而避免出現問題。 – Fionnuala 2012-01-18 21:14:04

+0

是的,它是混亂的,你將不得不在你的代碼中作爲QueryDef打開交叉表查詢,執行它並遍歷列以找到它們的名字並相應地改變文本框的控制源。要更新,您需要一個對話框,提示輸入新值,然後執行UPDATE查詢以更新數據庫中的值,然後重新查詢表格 – ChrisPadgham 2012-01-18 23:30:34

1

讓我們說第一個形式是有名稱:FrmProject &項目ID顯示在專案編號控制。 第二種形式是命名爲FrmProjectDetails。考慮到項目數據存儲在表格TblPorjects中。

在專案編號控制在FrmProject Click事件你寫的代碼如下:也

Private Sub ProjectID_Click() 
docmd.open "FrmProjectDetails" 
Form_FrmProjectDetails.RecordSource= "select * from TblProjects where ProjectID=" & Me.ProjectID 
End Sub