通过乘以不同表格中的值来获取值

时间:2017-10-02 20:12:03

标签: sql vba ms-access

我有一个计算,我想在MS Access中弄清楚我需要帮助。

我有两张桌子

表1:模型(表中有不同的房屋模型和每个房间的平方英尺。

| ModelName | FamilyRm | BedRm1 | BedRm2 |  
| --------- | -------- | ------ | ------ |  
| Simcoe    |  110     |    85  |    95  |  
| York      |  134     |    89  |    65  |

表2:FlooringPrice(地板的升级成本表)

| Level | Price|  
|-------|------|  
|Level1 | $1.50|  
|Level2 | $2.00|  
|Level3 | $2.50|  

我需要做的是,在报告中生成第3个表格,特定于模型,显示每个房间的成本。

SIMCOE  
| Room    | Level1 | Level2 | Level3 |  
|---------|--------|--------|--------|   
|FamilyRm |  $165  |  $220  |  $275  |  
|BedRm1   |  $127  |  $174  |  $212  |  
| Etc.  

对于VBA代码等,这是我的头脑。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

考虑:

Query1:ModelUNION
SELECT ModelName,“Family”AS Room,FamilyRm As SqFt FROM Model UNION SELECT ModelName,“Bed1”,BedRm1 FROM Model UNION SELECT ModelName,“Bed2”,BedRm1 FROM Model;

查询2:RoomLevels
SELECT ModelUNION.ModelName,ModelUNION.Room,ModelUNION.SqFt,FlooringPrice.Level,FlooringPrice.Price 来自ModelUNION,FlooringPrice;

QUERY3:
TRANSFORM First([Price] * [SqFt])AS TotalPrice 选择RoomLevels.ModelName,RoomLevels.Room 来自RoomLevels GROUP BY RoomLevels.ModelName,RoomLevels.Room PIVOT RoomLevels.Level IN(“Level1”,“Level2”,“Level3”);