Çäðàâñòâóéòå!
Èìååòñÿ òàáëèöà ñî çíà÷åíèÿìè:
| Áðåíä | Ãîðîä | ßíâàðü | Ôåâðàëü | ... | Íîÿáðü | Äåêàáðü | | Áðåíä1 | Ãîðîä1 | 100 | 200 | ... | 300 | 400 | | Áðåíä1 | Ãîðîä2 | 200 | 250 | ... | 350 | 550 | | Áðåíä1 | Ãîðîä3 | 300 | 250 | ... | 300 | 500 | | Áðåíä1 | Ãîðîä4 | 400 | 200 | ... | 400 | 450 | | Áðåíä2 | Ãîðîä1 | 500 | 200 | ... | 500 | 500 | | Áðåíä2 | Ãîðîä2 | 600 | 400 | ... | 600 | 550 | | Áðåíä2 | Ãîðîä3 | 700 | 300 | ... | 400 | 600 | | Áðåíä2 | Ãîðîä4 | 800 | 200 | ... | 300 | 650 | | ... | ... | ... | ... | ... | ... | ... |
|
Íà ñëåäóþùåì ýòàïå, íóæíî ñêîððåêòèðîâàòü çíà÷åíèÿ â ýòîé òàáëèöå. Êîððåêòèðîâêà äàííûõ îñóùåñòâëÿåòñÿ èç ïðèëîæåíèÿ íà VB.NET ïî ÿ÷åéêàì ñ ïîìîùüþ SQL-çàïðîñà.
"UPDATE Ïëàí SET Ïëàí " & ÒåêóùèéÌåñÿö & " = " & ÍîâîåÇíà÷åíèå &" WHERE Áðåíä = " & ÒåêóùèéÁðåíä & " AND Ãîðîä = " & ÒåêóùèéÃîðîä
Ñíà÷àëà âûáèðàåì Áðåíä1 è êîððåêòèðóåì ïî ãîðîäàì, ïîòîì Áðåíä 2 è êîððåêòèðóåì ïî ãîðîäàì è ò. ä. Ñ êàæäîé êîððåêòèðîâêîé - îòõîäèì îò èñõîäíûõ äàííûõ. È òóò âàæíî ñîõðàíÿòü èñõîäíûå äàííûå.
Òóò âîçíèêàåò äâà âîïðîñà:
1. Êàêàÿ äîëæíà áûòü ñòðóêòóðà òàáëèöû, ÷òîáû ìîæíî áûëî âåðíóòüñÿ ê èñõîäíûì äàííûì?
2. À òàêæå îòêàòèòü ïðåäûäóùèå èçìåíåíèÿ (êàê øàãè)? À òàêæå âîçìîæíîñòü îòêàòàòü âïåðåä êàê íà ñî÷åòàíèè êëàâèø Ctrl+Y.
Äëÿ ïåðâîãî âîïðîñà âèæó òàêîå ðåøåíèå. Ñîçäàòü äîïîëíèòåëüíûå êîëîíêè, â êîòîðûõ ñîõðàíÿþòñÿ èñõîäíûå äàííûå.
| Áðåíä | Ãîðîä | ßíâàðü | Ôåâðàëü | ... | Íîÿáðü | Äåêàáðü | ßíâàðü_èñõ | Ôåâðàëü_èñõ | ... | Íîÿáðü_èñõ | Äåêàáðü_èñõ | | Áðåíä1 | Ãîðîä1 | 100 | 200 | ... | 300 | 400 | 100 | 200 | ... | 300 | 400 | | Áðåíä1 | Ãîðîä2 | 200 | 250 | ... | 350 | 550 | 200 | 250 | ... | 350 | 550 | | Áðåíä1 | Ãîðîä3 | 300 | 250 | ... | 300 | 500 | 300 | 250 | ... | 300 | 500 | | Áðåíä1 | Ãîðîä4 | 400 | 200 | ... | 400 | 450 | 400 | 200 | ... | 400 | 450 | | Áðåíä2 | Ãîðîä1 | 500 | 200 | ... | 500 | 500 | 500 | 200 | ... | 500 | 500 | | Áðåíä2 | Ãîðîä2 | 600 | 400 | ... | 600 | 550 | 600 | 400 | ... | 600 | 550 | | Áðåíä2 | Ãîðîä3 | 700 | 300 | ... | 400 | 600 | 700 | 300 | ... | 400 | 600 | | Áðåíä2 | Ãîðîä4 | 800 | 200 | ... | 300 | 650 | 800 | 200 | ... | 300 | 650 | | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
|
È ÷òîáû âåðíóòüñÿ ê èñõîäíûì äàííûõ - çàïóñêàåòñÿ çàïðîñ
UPDATE
Ïëàí
SET
Ïëàí.ßíâàðü = Ïëàí.ßíâàðü_èñõ,
Ïëàí.Ôåâðàëü = Ïëàí.Ôåâðàëü_èñõ,
//...
Ïëàí.Íîÿáðü = Ïëàí.Íîÿáðü_èñõ,
Ïëàí.Äåêàáðü = Ïëàí.Äåêàáðü_èñõ
Äëÿ âòîðîãî âîïðîñà ñîçäàòü îòäåëüíóþ òàáëèöó äëÿ õðàíåíèÿ èñòîðèè êîððåêòèðîâîê.
| Áðåíä | Ãîðîä | Ìåñÿö | Çíà÷åíèå | | Áðåíä1 | Ãîðîä1 | ßíâàðü | 110 | | Áðåíä1 | Ãîðîä1 | ßíâàðü | 115 | | Áðåíä1 | Ãîðîä1 | Ôåâðàëü | 210 | | ... | ... | ... | ... |
|
Íî ïîêà íå ïðåäñòàâëÿþ êàê áóäåò âîññòàíàâëèâàòüñÿ, à òàêæå ïîòîì âåðíóòüñÿ âïåðåä.
Ñêàæèòå, êóäà íóæíî äâèãàòüñÿ áîëåå ïðàâèëüíî äëÿ ðåøåíèÿ äâóõ çàäà÷?
http://www.sql.ru/forum/1277600/vozvrat-k-ishodnym-dannym