Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Дано описание таблицы БД. Реализовать отбор данных. Указать перечень, полей, перечень компонентов и написать метод отбора данных. Использовать не менее 5 полей для условий отбора ⇐ ПредыдущаяСтр 7 из 7
ЭТОТ ОТВЕТ СЧИТАЕТСЯ ХОРОШИМ (28 из 30) Таблица Bookuch (Учет выработки) включает поля: Артикул пряжи, таб.номер рабочего, дата, количество пряжи в кг, в т.ч. кол-во брака в кг
Форма просмотра и отбора данных содержит следующие компоненты: 1)DBGrid1 - для вывода таблицы с данными 2)компоненты Tedit: -edArt - текстовое поле для ввода Артикула -edN1 - для ввода начального номера рабочего -edN2 - для ввода конечного номера рабочего -edD1 - для ввода начально даты отбора -edD2 - для ввода конечно даты отбора
3)два элемента SpeedButton для действий: поиск и отмена 4)элементы Label для вывода текста описывающего поле ввода
procedure TfrmBook.sbFindClick(Sender: TObject); var where: string; begin DM.qBook.DisableControls; DM.qBook.Close;
where:=''; if edArt.text <> '' then if where <> '' then where:=where +'and'; where: = where + 'articul LIKE:art'; end;
if edN1.text<>'' then where:='Tab_numb>=:n1';
if edN2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Tab_numb<=:n2'; end;
if edD1.Text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'dat>=:d1'; end;
if edD2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'dat<=:d2'; end;
DM.qBook.SQL.clear; DM.qBook.SQL.add('SELECT * FROM Bookuch '); if where<>'' then DM.qBook.SQL.add('WHERE '+where); DM.qBook.SQL.add('ORDER BY Id_book_uch,articul ');
if edArt.text<>'' then DM.qBook.Parameters.ParamByName('art').Value:StrToInt(edArt.text);
if edN1.text<>'' then DM.qBook.Parameters.ParamByName('n1').Value:=StrToInt(edN1.text); if edN2.text<>'' then DM.qBook.Parameters.ParamByName('n2').Value:=StrToInt(edN2.text);
if edD1.text<>'' then DM.qBook.Parameters.ParamByName('d1').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(edD1.text)); if edD2.text<>'' then DM.qBook.Parameters.ParamByName('d2').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(edD2.text)); DM.qBook.Open; DM.qBook.EnableControls; end;
20. Дано описание таблицы БД. Реализовать отбор данных. Указать перечень, полей, перечень компонентов и написать метод отбора данных. Использовать не менее 5 полей для условий отбора
Таблица Bookprod (Книга продаж) включает поля: Номер счет-фактуры, дата, наименование покупателя, товар, количество товара, цена ЭТОТ ОТВЕТ СЧИТАЕТСЯ ОТЛИЧНЫМ (30 из 30) Отбор данных будет производиться по номеру счёта-фактуры, дате, фрагменту наименования покупателя и фрагменту товара
Перечень компонентов для отбора данных:
edN1, edN2-номер счёта-фактуры с ___ по ___ edD1,edD2- дата с ______ по______ edPok1- покупатель edTov1-товар
6 TЕdit – для каждого поля фильтрации; 6 TLabel – для подписи каждого поля; TButton sbFind – для отправки запроса к БД; TDBGrid – для вывода полученного ответа от БД.
Метод составления SQL запроса: procedure TfrmProd.sbFindClick(Sender: TObject); var where: string; begin DM.qProd.DisableControls; DM.qProd.Close; where:=''; if edN1.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'NomerSch >=:n1'; end; if edN2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'NomerSch <=:n2'; end; if edD1.Text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'dat>=:d1'; end; if edD2.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'dat<=:d2'; end; if edPok1.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Pokupatel LIKE:pok'; end; if edTov1.text<>'' then begin if where<>'' then where:=where+' and '; where:=where+'Tovar LIKE:tov'; end; DM.qProd.SQL.clear; DM.qProd.SQL.add('SELECT * FROM Bookprod '); if where<>'' then DM.qProd.SQL.add('WHERE '+where); DM.qProd.SQL.add('ORDER BY data desc'); if edN1.text<>'' then DM.qProd.Parameters.ParamByName('n1').Value:=StrToInt(edN1.text); if edN2.text<>'' then DM.qProd.Parameters.ParamByName('n2').Value:=StrToInt(edN2.text); if edD1.text<>'' then DM.qProd.Parameters.ParamByName('d1').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(edD1.text)); if edD2.text<>'' then DM.qProd.Parameters.ParamByName('d2').Value:= FormatDateTime('yyyy-mm-dd',StrToDate(edD2.text)); if edK1.text<>'' then DM.qProd.Parameters.ParamByName('pok').Value:='%'+edPok1.Text+'%'; if edV1.text<>'' then DM.qProd.Parameters.ParamByName('tov').Value:='%'+edTov1.Text+'%'; DM.qProd.Open; DM.qProd.EnableControls; end;
21. Написать процедуру формирования отчета. Схема данных: Банковская книга: Номер расч.счета, дата операции, контрагент, вид операции (приход/расход), сумма. Справочник расч.счетов: Номер расч. счета, банк, вид валюты. Сформировать отчет по заданному виду валюты за заданный период времени с группировкой по датам, с расчетом приходных, суммы расходных операции, средней суммы расходной операции. 20 из 30 CREATE PROCEDURE "Admin."Overview" (in Data_beg date, in Data_end date,Vid_Valut varchar (30)) result( Data date, Prikh numeric(15,2), Raskh numeric (15,2))
BEGIN SELECT Dat, CASE When Vid_oper= «Приход» then SUM(Summa_p), CASE When Vid_oper= «Расход» then SUM(Summa_p), CASE When Vid_oper= «Расход» then AVG(Summa_p) FROM Bank_book as b JOIN Sprav_rash as su on b.Num_rasc = su.Num_rasc WHERE dat between Data_beg and Data_end and Vid_Valut = vid_v group by Data order by Data END 20баллов из 30 21.Написать процедуру формирования отчета. Схема данных: Книга учета: Марка компьютера, дата, ФИО покупателя, цена, количество. Справочник марок: Марка, наименование, тип процессора Сформировать отчет за заданный период времени с группировкой по типу процессора с расчетом общего количества, стоимости продаж и средней ценой. В отчет включать ПК, у которых цена находится в заданном диапазоне, а цена продажи не менее заданной
ЭТОТ ОТВЕТ СЧИТАЕТСЯ ХОРОШИМ (20 из 30) CREATE PROCEDURE "Admin1"."RptClinic"(in tip_proc(30), in_data_beg Date, in_data_end Date) RESULT(Marka varchar(40), kol integer, price_prod integer, Sred_Price integer)
BEGIN select marka, count(kol), avg(price) as Sred_Price sum(price) as cena
from kniga_ucheta ku join spravM s on ku.id_mark = s.id_mark
where s.tip_proc = tip.proc and data between in_data_beg and in_data_end group by tip_proc order by tip_proc END Написать процедуру формирования отчета. Схема данных: Книга учета: Марка компьютера, дата, ФИО покупателя, цена, количество. Справочник марок: Марка, наименование, тип процессора. Сформировать отчет за заданный период времени с группировкой по типу процессора с расчетом общего количества, стоимости продаж и средней ценой. В отчет включать ПК, у которых цена находится в заданном диапазоне, а цена продажи не менее заданной. CREATE PROCEDURE "admin"."procedure"(in CenaBeg numeric(15,2), in CenaEnd numeric(15,2), in CenaProd integer) RESULT(TipProc varchar(50), Period varchar(4), OBKol integer, OBCena numeric(15,2), SRCena numeric(15,2)) BEGIN select TipProc, year(Date) as Period, sum(isnull(Kolvo,0)) as OBKol, sum(isnull(Cena,0)) as OBCena, avg(isnull(Cena,0)) as SRCena from Kniga_ucheta ku join Spravochnik_Marok sm on ku.Marka=sm.Marka where OBCena>=CenaProd and Cena between CenaBeg and CenaEnd group by TipProc, Period order by TipProc, Period END 15 баллов из 30 Написать процедуру формирования отчета.Схема данных: Книга рекламаций: Год, месяц, код модели компьютера, цена, продано, количество рекламаций. Справочник моделей: Код модели, наименование модели, тип. Сформировать отчет за заданный год с группировкой по месяцам с расчетом общей стоимости продаж, количества рекламаций и максимального процента рекламаций. В отчет включать компьютеры, относящиеся к заданному типу ЭТОТ ОТВЕТ СЧИТАЕТСЯ ХОРОШИМ (20 из 30) CREATE PROCEDURE "Admin"."RptReklam"(in zad_year date, in tip varchar(40)) RESULT( Mesyac date, Naimen_model varchar(40), Count_prod integer, Count_rekl integer, Max_proc_rekl integer) BEGIN SELECT Mes, Name_model, Sum(Prodano), Sum(Kolvo_rekl), MAX(100* Kolvo_rekl/Prodano) FROM Book_reklam bk JOIN Sprav_model sm on sm.code_model = br.code_model WHERE zad_year = year_op and tip = type_comp GROUP BY mes, name_model
END 20 баллов
К 21
Сумма с условием sum (case when Kolvo_Shatnix_edinic >2 then Kolvo_Shatnix_edinic else 0 end), sum (case when type_uch='Промышленность' then Datediff (minute,Vr_prikhoda,Vr_ukhoda)*0.016667 else 0 end)
Сформировать отчет с группировкой по департаментам. Для каждой группы вывести общее количество отработанных дней, израсходованных средств и среднюю величину израсходованных средств. В отчет включать отделы с номерами из заданного диапазона.
Программный код процедуры: CREATE PROCEDURE "admin"."prd1"(in diapaz_begin integer, in diapaz_end integer) result (Depart varchar (50), Kol_otr integer, Izpas_sr numeric(11,2), Sred_Izras numeric(11,2)) BEGIN SELECT Depart, sum(kol_otr), sum(Izras_god), avg(Izras_god) FROM Sprav_Otdel as sp JOIN Kniga_Uch as k on sp.Kod_Otdel=k.Kod_Otdel WHERE sp.kod_otdel between diapaz_begin and diapaz_end
GROUP BY Depart END
Написать процедуру формирования отчета. Схема данных: Книга выработки: Артикул пряжи, табельный номер рабочего, дата, количество пряжи в кг, в т.ч. кол-во брака в кг. Справочник рабочих: Табельный номер, ФИО, тарифная ставка (руб за кг 1 с.)
ЭТОТ ОТВЕТ СЧИТАЕТСЯ ХОРОШИМ (25 из 30)
Сформировать отчет за заданный период времени с группировкой по таб.номеру рабочего с выводом общего объема произведенной продукции, начисленной зарплаты и максимального процента брака. CREATE PROCEDURE "Roman"."KnigaVyr" ((in Data_beg date, in Data_end date)
result( Tab_nomer integer, Ob_obj numeric (10,2) Zarplata numeric(10,2), MaxProc numeric(10,2) ) BEGIN SELECT KV.Tab_nomer, sum(Kol_prya), sum(Kol_prya*Tarif_st), max (Kol_braka/Kol_prya) FROM KnigaVyr as KV JOIN SpravRab as SR on KV.Tab_nomer=SR.Tab_nomer WHERE Dat between Data_beg and Data_end group by KV.Tab_nomer order by KV.Tab_nomer END
|
|||||||
Последнее изменение этой страницы: 2020-12-17; просмотров: 71; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.113.197 (0.044 с.) |