Создание базы данных, в которой удобно и быстро вести учет финансовой деятельности фирмы, занимающийся покупкой/продажей антиквариатов, страница 3

 FROM myrgr!seller;

 WHERE seller.фамилия_продавца = thisform.pageframe1.page2.text2.value;

              AND seller.адрес_продавца = thisform.pageframe1.page2.text3.value;

              AND seller.клиент = thisform.pageframe1.page2.text4.value;

 INTO ARRAY ispresent

IF ispresent <> 0

              MESSAGEBOX("Данный продавец уже существует в базе")

ELSE

              SELECT MAX(seller.id_продавца);

              FROM myrgr!seller INTO ARRAY newind

              newind = newind + 1

              INSERT INTO seller.dbf  VALUE (THIS.PARENT.text2.VALUE,              THIS.PARENT.text3.VALUE, THIS.PARENT.text4.VALUE, newind)

ENDIF

thisform.refresh

Добавление нового покупателя:

SELECT count(фамилия_покупателя);

 FROM myrgr!buyer;

 WHERE buyer.фамилия_покупателя = thisform.pageframe1.page2.text5.value;

              AND buyer.адрес_покупателя = thisform.pageframe1.page2.text6.value;

              AND buyer.клиент = thisform.pageframe1.page2.text7.value;

 INTO ARRAY ispresent

IF ispresent <> 0

              MESSAGEBOX("Данный покупатель уже существует в базе")

ELSE

              SELECT MAX(buyer.id_покупателя);

              FROM myrgr!buyer INTO ARRAY newind

              newind = newind + 1

              INSERT INTO buyer.dbf VALUE (thisform.pageframe1.page2.text5.value, thisform.pageframe1.page2.text6.value, thisform.pageframe1.page2.text7.value, newind)

ENDIF

thisform.refresh


Третья вкладка Поиск по БД, представленная на рис.8.

Рис.8 Главная форма. Третья вкладка.

Данная вкладка позволяет пользователю выполнять различные запросы, такие как:

1) Для каждого вида антиквариата выдать список постоянных клиентов (покупателей), отсортированный по дате приобретения, в алфавитном порядке, по стоимости.

Код запроса:

DO CASE

              CASE this.parent.combokrit.value = "по дате продажи фирмой"

              ?           

                            SELECT anticvariat.id_тип_антиквариата, anticvariat.Дата_продажи_фирмой,;

                            anticvariat.цена_руб, buyer.фамилия_покупателя, buyer.клиент;

                            FROM myrgr!anticvariat INNER JOIN myrgr!buyer;

                            ON  Anticvariat.id_покупателя = buyer.id_покупателя;

                            WHERE buyer.клиент = "Постоянный";

                            INTO CURSOR cur2

                            SELECT type_anticvariata.тип_антиквариата, cur2.Дата_продажи_фирмой, cur2.цена_руб,;

                            cur2.фамилия_покупателя, cur2.клиент;

                            FROM cur2 INNER JOIN myrgr!type_anticvariata;

                            ON  cur2.id_тип_антиквариата = type_anticvariata.id_тип_антиквариата;

                            WHERE cur2.id_тип_антиквариата ==(SELECT id_тип_антиквариата FROM myrgr!type_anticvariata;

                                                         WHERE тип_антиквариата= this.parent.ComboTypeAntic.value);

                            ORDER BY дата_продажи_фирмой

              CASE thisform.pageframe1.page3.combokrit.value = "по алфавиту"

              ?           

                            SELECT anticvariat.id_тип_антиквариата, anticvariat.Дата_продажи_фирмой,;

                            anticvariat.цена_руб, buyer.фамилия_покупателя, buyer.клиент;

                            FROM myrgr!anticvariat INNER JOIN myrgr!buyer;

                            ON  Anticvariat.id_покупателя = buyer.id_покупателя;

                            WHERE buyer.клиент = "Постоянный";

                            INTO CURSOR cur2

                            SELECT type_anticvariata.тип_антиквариата, cur2.Дата_продажи_фирмой, cur2.цена_руб,;

                            cur2.фамилия_покупателя, cur2.клиент;