Программирование в среде FoxPro. Создание базы данных “Бакалея”, страница 2

            Назначение остальных пунктов меню интуитивно понятно и полностью согласуется с заданием, поэтому специально останавливаться на их описании я не буду, а приведу лишь распечатки форм, которые нужно заполнить, чтобы выполнить нужный запрос (они показаны соответственно на Рис.7-12).

Рис. 6.  База данных.

Рис. 7.  Поиск прибора с ценой в заданных пределах.

Рис. 8. Поиск прибора по производителю.

Рис. 9. Поиск прибора по дате выпуска.

Рис. 10. Поиск прибора по весу.

Рис. 11. Поиск доли приборов, проданных за период.

4) Последний пункт меню «О работе» осуществляет вывод информации о программе и ее создателе (Рис 12).

Рис. 12. О работе.

5.  Программные файлы и SQL-запросы.

pribori.dbf -   Содержит таблицу базы данных.

about.scx(обработчик кнопки «выход»)

thisform.release()

data.scx

(обработчик кнопки «поиск»)

Select pribori.название, pribori.дата_вып, pribori.производ, pribori.цена;  

From pribori!pribori Where pribori.дата_вып = ThisForm.text1.Value

(обработчик кнопки «выход»)

ThisForm.Release()

data_prod.scx

(обработчик кнопки «поиск»)

Close Table All

Use pribori!pribori

a = 0

b = 0

Do While !Eof()

b = b + 1

If pribori.дата_прод >= ThisForm.Text1.Value and pribori.дата_прод <= ThisForm.Text2.Value

a = a + 1

Endif

Skip

Enddo

ThisForm.Text3.Value = Str(a/b * 100)+'%'

(обработчик кнопки «выход»)

ThisForm.Release()

edit.scx

(обработчик кнопки «<<»)

Go Top

ThisForm.Label11.Caption = Alltrim(Str(Recno()))+'/'+Alltrim(Str(Reccount()))

ThisForm.Refresh()

(обработчик кнопки «<»)

If !BOF() Then

    Skip -1

Endif

ThisForm.Label11.Caption = Alltrim(Str(Recno()))+'/'+Alltrim(Str(Reccount()))

ThisForm.Refresh()

(обработчик кнопки «>»)

 If !EOF() Then

Skip 1

Endif

If EOF()

                  Go Bottom

Endif

ThisForm.Label11.Caption = Alltrim(Str(Recno()))+'/'+Alltrim(Str(Reccount()))

ThisForm.Refresh()

(обработчиккнопки «>>»)

Go Bottom

ThisForm.Label11.Caption = Alltrim(Str(Recno()))+'/'+Alltrim(Str(Reccount()))

ThisForm.Refresh()

(обработчик кнопки «добавить»)

Append Blank

ThisForm.Refresh()

ThisForm.Text1.SetFocus()

(обработчик кнопки «удалить»)

Delete

Pack

Skip -1

ThisForm.Label11.Caption = Alltrim(Str(Recno()))+'/'+Alltrim(Str(Reccount()))

ThisForm.Refresh()

(обработчик кнопки «выход»)

ThisForm.Release()

price.scx

(обработчик кнопки «поиск»)

Select pribori.название, pribori.цена;

From pribori!pribori Where Between(pribori.цена,ThisForm.spinner2.Value,ThisForm.spinner1.Value) and pribori.название=ThisForm.combo1.Value

(обработчик кнопки «выход»)

ThisForm.Release()

proizvod.scx

(обработчик кнопки «поиск»)

 Select pribori.название, pribori.цена, pribori.производ;

From pribori!pribori Where pribori.производ=ThisForm.combo1.Value

(обработчик кнопки «выход»)

ThisForm.Release()

sort.scx

(обработчик combo1 и optiongroup)

DO CASE

CASE ThisForm.Combo1.value = "Холодильник"

DO CASE

CASE ThisForm.OptionGroup1.Value = 1

ThisForm.Grid1.recordsource = "select pribori.производ, pribori.цена, pribori.дата_вып, pribori.дата_прод, pribori.поставщик, pribori.вес, pribori.количество from pribori!pribori where pribori.название='Холодильник' order by pribori.дата_вып into cursor tmpcur1"

CASE ThisForm.OptionGroup1.Value = 2

ThisForm.Grid1.recordsource = "select pribori.производ, pribori.цена, pribori.дата_вып, pribori.дата_прод, pribori.поставщик, pribori.вес, pribori.количество from pribori!pribori where pribori.название='Холодильник' order by pribori.производ into cursor tmpcur1"

CASE ThisForm.OptionGroup1.Value = 3

ThisForm.Grid1.recordsource = "select pribori.производ, pribori.цена, pribori.дата_вып, pribori.дата_прод, pribori.поставщик, pribori.вес, pribori.количество from pribori!pribori where pribori.название='Холодильник' order by pribori.поставщик into cursor tmpcur1"

CASE ThisForm.OptionGroup1.Value = 4

ThisForm.Grid1.recordsource = "select pribori.производ, pribori.цена, pribori.дата_вып, pribori.дата_прод, pribori.поставщик, pribori.вес, pribori.количество from pribori!pribori where pribori.название='Холодильник' order by pribori.вес  into cursor tmpcur1"