2013-01-10 41 views
0

我將最後幾年的表格歸檔並在每年年初創建一個新表格。我想找到一種方法來製作一張多年的表格,這樣我就不必每年都手動改變任何東西。列是:行(唯一),日期(主),col1,col2,col3 ..用戶將數據(每列)輸入到表單中。我想要有一個'年'列,將從年份(日期)和複合主鍵(行,年)中填充。我還需要主鍵(行,年(日期))。所以每年我們都可以從第一排開始,再過一個新的一年。我甚至看着並試圖插入更新觸發器,但我不認爲這是答案。你怎麼看?這太模糊了嗎?年末數據翻轉

+1

什麼不適合你?據我所知,你所需要做的就是放棄行列的唯一性,然後添加你想要的鍵。注意:你的桌子上只能有一個主鍵。 – Jakob

+0

一件不起作用的是主鍵(行,年(日期))。我正在使用MySQL和asp classic。另一件事:表單可以選擇一次輸入1到50行。我希望能夠在填充日期時填充年份列。我應該在這裏發佈我的一個asp文件嗎?不知道該怎麼做。 –

+0

我不認爲你可以在你的密鑰定義中有一個函數調用年(日期)。如果你有一年的專欄,那麼就使用它。但也許我誤解了你。 – Jakob

回答

0

我在我的一個Firebird數據庫中做了類似的事情(你沒有說你正在使用哪個數據庫)。首先,你應該有一個自動生成的主鍵 - 這會讓生活更簡單。其次,你每年需要一臺發電機 - 或者每年有一個場的表。

在此模型中,您有一個包含兩個字段的表格:year(主鍵)和'curvalue'。每年你插入一個新的元組,如(2012,0)或(2013,0)。您查詢此表以查找給定年份的「curvalue」字段的當前值,然後遞增curvalue字段並使用您插入的元組中增加的值。

使用生成器可確保您將始終收到唯一的編號;使用上面寫的表可能會導致問題,如果一行開始進程,然後另一行到達。

+0

MySQL。涼。不知道發電機。每年年底我會做什麼?直到1月份,他們纔會進入Dec數據庫。 –

+0

也使用asp classic。 –