我需要將行轉換爲MS Access數據庫中的列,VBA,SQL這兩個代碼都是受歡迎的。我想將行轉換爲ms-access中的列
表
| Name | Ticker | ID | Innovation | Quality | Year |
| XYZ | PQR | 11 | 1 | 1 | 2009 |
| XYZ | PQR | 11 | 0 | 1 | 2010 |
| XYZ | PQR | 11 | 1 | 0 | 2011 |
| XYZ | PQR | 11 | 1 | 1 | 2012 |
所需的表
| Year | 2009 | 2010 | 2011 | 2012 |
| Name | XYZ | XYZ | XYZ | XYZ |
| Ticker | PQR | PQR | PQR | PQR |
| ID | 11 | 11 | 11 | 11 |
| Innovation | 1 | 0 | 1 | 1 |
| Quality | 1 | 1 | 0 | 1 |
正如你所期望的表格中看到,我想有年度行作爲柱,從相隔一年列出所有的列作爲我的行。 我曾嘗試在MS Access中使用Tranform和Pivot函數,但它只能旋轉一個變量。讓我知道你的想法。
以下代碼在轉置所有變量時失敗。
TRANSFORM Max([Quality])
SELECT Ticker
FROM Table
Where Ticker = "XYZ"
GROUP BY Ticker
PIVOT Year;
此外,如果可能我想發佈它作爲PDF文檔。
由於提前, RVG
一個笨拙的解決方法是將其複製到Excel中,使用複製/粘貼轉置,然後從Excel發佈PDF或將轉置表複製回Access。另外,我不認爲我理解所需的表格 - 接下來的4行(即Name =「ABC」)是什麼樣的?這將添加新的行或新的列到所需的表? –
所以我只顯示一個公司,我將從列表框中選擇我將更新代碼爲 Ticker = [Forms]![ComSearch_frm]![Search_lbx]。值 因此,我希望的表格將發佈只有一個公司信息是明智的。 – rvg6991
在這種情況下,Excel不是一個笨拙的解決方法,但真的是最好的選擇。 – Andre