Создание базы данных “Коммивояжер”, страница 2

Рис. 7. Форма для работы с таблицей Country

Работа с формой очень проста: на форме четыре кнопки и одно текстовое  поле, все операции проводятся над таблицей и полем.

Добавить. Добавляет в таблицу страну, введённую в текстовое поле, идентификатор получается автоматически (порядковый номер в таблице – начиная с нуля). Код:

SELECT COUNT(country.страна) AS _index;

FROM dataagent!country;

INTO CURSOR temp NOCONSOLE;

INSERT INTO country (id, страна);

         VALUES (temp._index + 1, thisform.country.value)

Просмотр. По сути: простой SQL- запрос. Вот его код:

select country.страна, country.id;

FROM dataagent!country;

Удаление. Реализуется с помощью SQL-команды DELETE. Довольно проста:

DELETE FROM country WHERE страна = thisform.country.value

close tables

use country

PACK

Искать. Поиск – это тоже стандартный SQL – запрос, выводящий на экран строку таблицы, имеющую поле страна, такое, как задано в текстовом поле.

SELECT country.id, country.страна;

FROM country;

WHERE country.страна = thisform.country.value

Формы редактирования таблиц Country, Producer, Supplier  - очень похожи друг на друга в связи с похожестью таблиц, а потому, дабы не терять времени, приведу только скриншоты соответствующих форм:

                    

                                     Рис. 8. Форма Производитель

  

                    Рис. 9. Форма Поставщик

Отдельного внимания требует форма обработки таблицы Goods. Вот на ней остановимся подробнее.

Итак, выглядит она следующим образом:

                       

                                        Рис. 10. Форма  «Товары»

В частности, приведу обработчик нажатий всех клавиш (кнопок).

Добавить.

INSERT INTO goods (id_агента, вес, дата_выпуска, дата_продажи, кол_во_продаж, наименование, поставщик, производитель, стоимость, страна);

VALUES (VAL(thisform.select_name.value), thisform.ves.value, thisform.data_vyp.value,;

 thisform.data_prod.value, thisform.kol_vo.value, thisform.naim.value, VAL(thisform.supp.value), VAL(thisform.prod.value), thisform.cost.value, VAL(thisform.country.value))

Посмотреть Базу.

select agent.фамилия, agent.имя, agent.отчество, agent.год,;

goods.наименование, producer.производитель, country.страна,;

supplier.поставщик, goods.вес, goods.стоимость, goods.дата_продажи;

FROM dataagent!agent, dataagent!goods,dataagent!country,;

dataagent!producer, dataagent!supplier;

where agent.id=goods.id_агента and producer.id = goods.производитель;

and country.id = goods.страна and supplier.id = goods.поставщик

Отчистить.

thisform.select_name.value = ""

thisform.ves.value = 0

thisform.kol_vo.value = 0

thisform.naim.value = ""

thisform.supp.value = ""

thisform.prod.value = ""

thisform.cost.value = 0

thisform.country.value = ""

Удалить.

DELETE FROM goods WHERE id_агента = VAL(thisform.select_name.value) and вес = thisform.ves.value and дата_выпуска = thisform.data_vyp.value;

and дата_продажи = thisform.data_prod.value and кол_во_продаж = thisform.kol_vo.value and наименование = thisform.naim.value;

and поставщик = VAL(thisform.supp.value) and;

производитель = VAL(thisform.prod.value) and стоимость = thisform.cost.value;

and страна = VAL(thisform.country.value)

close tables

use goods

PACK

Искать.

select agent.Фамилия, agent.имя, agent.отчество, agent.год,;

goods.наименование, producer.производитель, country.страна,;

supplier.поставщик, goods.вес, goods.стоимость, goods.дата_продажи;

FROM dataagent!agent, dataagent!goods,dataagent!country,;

dataagent!producer, dataagent!supplier;

where agent.id=goods.id_агента and producer.id = goods.производитель;

and country.id = goods.страна and supplier.id = goods.поставщик;

and goods.id_агента = VAL(thisform.select_name.value) and goods.вес = thisform.ves.value and goods.дата_выпуска = thisform.data_vyp.value;

and goods.дата_продажи = thisform.data_prod.value and goods.кол_во_продаж = thisform.kol_vo.value and goods.наименование = thisform.naim.value;

and goods.поставщик = VAL(thisform.supp.value) and;

goods.производитель = VAL(thisform.prod.value) and goods.стоимость = thisform.cost.value;

and goods.страна = VAL(thisform.country.value)

2.  Формы выполнения запросов