про телефони, які давно не продавалися. За допомогою цієї форми користувач може витягти вручну або видалити дані з архіву остаточно (Малюнок 4.30). br/>В
Малюнок 4.30 - Форма В«АрхівиВ» вкладка В«ТелефониВ»
Джерело даних даної форми: Архів_Телефони. * Архів_Телефони;
На даній формі присутні такі кнопки:
кнопка "Відновити" переміщує телефон/клієнта в основну таблицю і видаляє його з архіву. Відновлення відбувається за допомогою запиту: INTO
Видалення запису з архіву при відновленні відбувається стандартними засобами Access.
кнопка "Видалити" видаляє запис з архіву без можливості відновлення.
Форми, описані нижче, доступні тільки адміністраторам системи.
Кнопка "Архівація" на головній формі відкриває форму В«АрхіваціяВ», за допомогою якої можна перемістити застарілі записи в архівні таблиці. Перемістити можна записи з усіх таблиць відразу або з таблиці за вибором. Архівація складається з двох кроків. p align="justify"> Перший крок - це копіювання записи з вихідної таблиці в архів. Для цього використовуються такі SQL-запити:
) для телефонів: INTO Архів_ТелефониТелефони. * [Остання дата продажу телефону] INNER JOIN Телефони ON [Остання дата продажу телефону]. КодТелефона = дата продажу телефону]! [КодТелефона]));
) для клієнтів: INTO Архів_Кліенти (КодКліента, ФІОКліента, ТелефонКліента, АдресКліента) Кліенти.КодКліента, Кліенти.ФІОКліента, Кліенти.ТелефонКліента, Клиенты.АдресКлиентаКлиенты INNER JOIN Продажі ON Кліенти.КодКліента = Продажі.ФІОКліентаBY Кліенти.КодКліента, Кліенти.ФІОКліента, Кліенти.ТелефонКліента,
) для продажів: INTO Архів_Продажі (ДатаПродажі, КодНакладной, МодельТелфона, Знижка, IMEI, ФІОКліента, ФІОСотрудніка, Сума) Продажі.ДатаПродажі, Продажі.КодНакладной, Продажі.МодельТелфона , Продажі.Скідка, Продажі.IMEI, Продажі.ФІОКліента, Продажі.ФІОСотрудніка,
) для поставок: INTO Архів_Поставкі (ДатаПоставкі, КодПоставкі, НазваніеПоставщіка, МодельТелефона, Кількість, [Номер поставки]) Поставкі.ДатаПоставкі, Поставкі.КодПоставкі, Поставки.НазваниеПоставщика, Поставкі.МодельТелефона, Поставкі.Колічество, Поставки. [Номер
Другим кроком при архівації є видалення запису з вихідної таблиці. Для цього використовуються такі SQL-запити:
) для телефонів: DISTINCTROW Телефони. *, Телефоны.КодТелефонаТелефоны INNER JOIN арх_телефони ON Телефони.КодТелефона =
) для клієнтів: DISTINCTROW Клієнти. *, Клиенты.КодКлиентаарх_клиенты INNER JOIN Клієнти ON арх_кліенти.КодКліента =
) для продажів: Продажі. *,