Программирование в среде VisualFoxPro. Создание базы данных «Мебель», страница 2

if reccount("strana") > 0

              SELECT MAX(id) FROM strana INTO ARRAY tmp

else

              tmp[1] = -1

endif

INSERT INTO strana VALUES (tmp[1]+1, thisform.text1.value)

thisform.text1.value=""

thisform.Combo1.refresh

Удаление производителя:

if val(thisform.Combo1.value) >= 0

              RECALL ALL

              DELETE FROM strana WHERE id=val(thisform.Combo1.value)

              pack

              thisform.Combo1.refresh

endif

Рис.11. Форма добавления и удаления производителя.

Добавление вида:

public tmp(2)

if reccount("vid") > 0

              SELECT MAX(id) FROM vid INTO ARRAY tmp

              tmp[1] = tmp[1] + 1

else

              tmp[1] = -1

endif

INSERT INTO vid VALUES (thisform.text1.value, tmp[1])

thisform.text1.value=""

thisform.Combo1.refresh

Удаление вида:

if val(thisform.Combo1.value) >= 0

              RECALL ALL

              DELETE FROM vid WHERE id=val(thisform.Combo1.value)

              browse last

              pack

              thisform.Combo1.refresh

endif

Рис.12. Форма добавления и удаления вида.

5.2. Запрос к базе данных для просмотра информации

Просмотр всех записей базы данных:

SELECT Product.наименован, Vid.вид_мебели, Postav.поставщик,;

  Product.дата_выпус, Product.дата_прода, Product.цена, Product.вес,;

  Product.количество;

 FROM  mebel!vid INNER JOIN mebel!product;

    INNER JOIN mebel!postav;

    INNER JOIN mebel!strana ;

   ON  Strana.id = Product.id_strana ;

   ON  Postav.id = Product.id_postav ;

   ON  Vid.id = Product.id_vid;

 ORDER BY Product.наименован

5.3. Запросы к базе данных, требуемые заданием, с соответствующими формами

Для каждого вида мебели выдать список, отсортированный (рис.13-14):

• по дате выпуска,

• по дате продажи,

• в алфавитном порядке по поставщику,

• по весу.

• по стоимости.

Код метода Click кнопки «Показать»:

do case

case thisform.optiongroup1.option1.value = 1

              SELECT Product.наименован, Vid.вид_мебели, Postav.поставщик,;

              Product.дата_выпус, Product.дата_прода, Product.цена, Product.вес,;

              Product.количество;

              FROM  mebel!postav INNER JOIN mebel!product;

              INNER JOIN mebel!vid ;

              ON  Vid.id = Product.id_vid ;

              ON  Postav.id = Product.id_postav;

              where (vid.id = val(thisform.Combo1.value));

              ORDER BY Product.дата_выпус

case thisform.optiongroup1.option2.value = 1

              SELECT Product.наименован, Vid.вид_мебели, Postav.поставщик,;

              Product.дата_выпус, Product.дата_прода, Product.цена, Product.вес,;

              Product.количество;

              FROM  mebel!postav INNER JOIN mebel!product;

              INNER JOIN mebel!vid ;

              ON  Vid.id = Product.id_vid ;

              ON  Postav.id = Product.id_postav;

              where (vid.id = val(thisform.Combo1.value));

              ORDER BY Product.дата_прода

case thisform.optiongroup1.option3.value = 1

              SELECT Product.наименован, Vid.вид_мебели, Postav.поставщик,;

              Product.дата_выпус, Product.дата_прода, Product.цена, Product.вес,;

              Product.количество;

              FROM  mebel!postav INNER JOIN mebel!product;

              INNER JOIN mebel!vid ;

              ON  Vid.id = Product.id_vid ;

              ON  Postav.id = Product.id_postav;

              where (vid.id = val(thisform.Combo1.value));

              ORDER BY Postav.поставщик

case thisform.optiongroup1.option4.value = 1