首页 文章

根据MS Access中的月份访问故障单数据库中的数据

提问于
浏览
0

亲爱的stackoverflow成员,

我正在为售票价格创建一个访问数据库 . 由于门票价格每年都在变化,我想创建数据库以根据月份访问门票价格 .

但问题是如何查询数据库以根据特定月份检索票价?我还附上了我的示例数据库的图像 .
Database
我还以文本格式上传了数据库 .

Company:

-------------------------------------------
    |     CompanyID      |    CompanyName     |
    -------------------------------------------
    | A                  | AAA                |
    -------------------------------------------
    | B                  | BBB                |
    -------------------------------------------
    | C                  | CCC                |
    -------------------------------------------
    | D                  | DDD                |
    -------------------------------------------
    | .                  | ..                 |
    -------------------------------------------
    | .                  | ..                 |
    -------------------------------------------
    | .                  | ..                 |
    -------------------------------------------
    | Z                  | ZZZ                |
    -------------------------------------------

Ticket:

----------------------------------------------------------------------------------------------------------
|         ID         |     TicketType     |        2010        |        2011        |        2012        |
----------------------------------------------------------------------------------------------------------
| 001                | 3 months           |             $50.00 |             $55.00 |             $68.00 |
----------------------------------------------------------------------------------------------------------
| 002                | 2 Weeks            |             $10.00 |             $11.50 |             $13.10 |
----------------------------------------------------------------------------------------------------------
| 003                | Group ticket       |             $30.00 |             $32.00 |             $35.00 |
----------------------------------------------------------------------------------------------------------
| 004                | Night ticket       |              $7.00 |              $9.00 |             $11.00 |
----------------------------------------------------------------------------------------------------------
| 005                | 1 Day              |              $3.00 |              $5.00 |              $8.00 |
----------------------------------------------------------------------------------------------------------
| 006                | 1 Week             |              $8.00 |             $15.00 |             $12.00 |
----------------------------------------------------------------------------------------------------------
| 007                | 1 month            |             $19.00 |             $22.00 |             $25.00 |
----------------------------------------------------------------------------------------------------------
| 200                | Fun ticket         |             $11.00 |             $12.00 |             $14.00 |
----------------------------------------------------------------------------------------------------------
| AAA                | 001                |                    |            $100.00 |          $5,500.00 |
----------------------------------------------------------------------------------------------------------

问题是:我想根据月份访问票价 . 例如,TicketID的价格:“2011年3月”中的“001” . 有了它,将根据特定月份售出的门票计算每月帐户 .

这些字段按年份列出,并在几个月内创建将导致大量数据冗余或未来更新的麻烦 .

任何帮助将非常感谢 . 非常感谢你提前 .

干杯!

1 回答

  • 2

    数据库的结构阻止您这样做 . 票证表甚至不在First Normal Form中 . 目前,每年新的一年,您都需要添加新列以显示更新的定价 . 通过添加行而不是列,可以更轻松地完成此操作 .

    您需要创建另一个名为TicketID的表,该表具有ID和TicketType . 修改您的故障单表格,使其具有以下内容:ID,price,date_effective . 这将允许您记录这样的变化定价

    1,50,1/1/2010
        1,51,2/1/2010
        1,52,8/15/2010
        1,55,1/1/2011
    

    这样您就可以随时根据需要更改价格,而无需添加额外的列 . 因为要在最后一列中存储日期,所以可以使用Access中的内置日期函数来创建查询 .

相关问题