Refbank.Ru - рефераты, курсовые работы, дипломы по разным дисциплинам
Рефераты и курсовые
 Банк готовых работ
Дипломные работы
 Банк дипломных работ
Заказ работы
Заказать Форма заказа
Лучшие дипломы
 Делопроизводственное обеспечение системы работы с кадрами (на примере администрации Вольского муниципального образования)"
 Управление персоналом в региональной телекомпании
Рекомендуем
 
Новые статьи
 Почему темнеют зубы и как с этом...
 Иногда полезно смотреть сериалы целыми...
 Фондовый рынок идет вниз, а криптовалюта...
 Как отслеживают частные...
 Сочинение по русскому и литературе по тексту В. П....
 Компания frizholod предлагает купить...
 У нас можно купить права на...
 Сдать курсовую в срок поможет Курсач.эксперт. Быстро,...
 Размышления о том, почему друзья предают. Поможет при...
 Готовая работа по теме - потеря смысла жизни в современном...
 Рассуждения о проблеме влияния окружающего шума на...
 Рассуждения по тексту Владимира Харченко о роли науки в...
 Проблема отношений человека с природой в сочинении с...
 Рассуждение по теме ограниченности...
 Описание проблемы отношения людей к природе в сочинении по...


любое слово все слова вместе  Как искать?Как искать?

Любое слово
- ищутся работы, в названии которых встречается любое слово из запроса (рекомендуется).

Все слова вместе - ищутся работы, в названии которых встречаются все слова вместе из запроса ('строгий' поиск).

Поисковый запрос должен состоять минимум из 4 букв.

В запросе не нужно писать вид работы ("реферат", "курсовая", "диплом" и т.д.).

!!! Для более полного и точного анализа базы рекомендуем производить поиск с использованием символа "*".

К примеру, Вам нужно найти работу на тему:
"Основные принципы финансового менеджмента фирмы".

В этом случае поисковый запрос выглядит так:
основн* принцип* финанс* менеджмент* фирм*
Информатика

контрольная работа

Таблица идентификаторов, исходные данные и результаты обработки



ОГЛАВЛЕНИЕ
ЗАДАНИЕ.......................................................................................3
ВВЕДЕНИЕ....................................................................................5
ТАБЛИЦА ИДЕНТИФИКАТОРОВ.................................................10
СТРУКТУРА ПРОГРАММЫ.........................................................11
3. ТЕКСТ ПРОГРАММЫ..................................................................14
ИСХОДНЫЕ ДАННЫЕ И РЕЗУЛЬТАТЫ ОБРАБОТКИ...................29
СПИСОК ЛИТЕРАТУРЫ. .................................................................32
ПРИЛОЖЕНИЯ..............................................................................33
ЗАДАНИЕ
Общая часть задания.
В среде Access создать две таблицы, каждая не менее 10 записей. Записи, не упорядоченные ни по какому реквизиту.
Распечатать обе таблицы в форме отчета с необходимыми заголовками.
Сформировать запросы.
Средствами Visual Basic обеспечить доступ к базам данных в среде Access и выполнить требуемую обработку. Результаты сохранить в файле и отобразить в отчете. Все задания можно оформить в виде процедур, объединенных в меню с использованием заставки пароля.
Осуществить экспорт файлов базы данных в среду Visual Basic, выполнить требуемую обработку.
Детализованное задание.
Создать первую таблицу в Access с исходными данными о предприятиях города. О каждом предприятии известно: код, название, год начала внедрения новых технологий (период с 1996 по 2000 г.).
Создать 2-ю таблицу в Access c данными о тех же предприятиях: код, затраты на внедрение на каждый год пятилетки, начиная с начала года, число предприятий не определенно.
Разработать запросы для решений следующих задач:
напечатать справку о суммарных затратах на каждый год периода (с 1996 г.)
напечатать справку о пяти предприятиях с наибольшими суммарными затратами,
определить предприятие с самым поздним началом внедрения.
Разработать форму и программу на Visual Basic, обеспечивающую доступ к базе данных и позволяющую:
напечатать справку о предприятиях, в которых средние годовые затраты больше общего среднего значения годовых затрат,
напечатать справку о предприятиях с годом начала позже заданного.
Осуществить экспорт базы данных в Visual Basic. Разработать форму и программу на Visual Basic, позволяющую считать запись этих файлов, отображать их на экране в виде списка и напечатать справку для произвольно задаваемых кодами предприятий. Число таких предприятий неопределенно. Записать эти сведения в файл.
ВВЕДЕНИЕ
Системы управления базами данных
С развитием информационных технологий происходил рост той части работы, которую человек хотел переложить на компьютеры, но существовавшая "на заре человечества" файловая система не позволяла организовать сложную структуру данных и поддерживать ее работу. Производились различные настройки над файловой системой, что на мой взгляд явилось предпосылками построения систем управления базами данных (СУБД).
Существует несколько потребностей, которые не покрываются возможностями систем управления файлами: поддержание логически согласованного набора файлов; обеспечение языка манипулирования данными; восстановление информации после разного рода сбоев; реально параллельная работа нескольких пользователей. Можно считать, что если прикладная информационная система опирается на некоторую систему управления данными, обладающую этими свойствами, то эта данными является системой управления базами данных (СУБД).
Основные функции СУБД
К числу функций СУБД (с пользой для пользователей систем) принято относить следующее:
Непосредственное управление данными во внешней памяти;
Управление буферами оперативной памяти;
Управление транзакциями;
Журнализация;
Языки БД.
Первые четыре понятия достаточно сложны и раскрытие их требует более глубокого изучения СУБД, что не входит в задание, поэтому они были лишь перечислены, а пятый пункт языки БД мы раскроем детально.
Языки БД
Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два - язык определения схемы БД (SDL - Schema Definition Language) и язык манипулирования данными (DML - Data Manipulation Language). SDL служил главным образом для определения логической структуры БД, т.е. той структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные. Мы рассмотрим более подробно языки ранних СУБД в следующей лекции.
В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).
Прежде всего язык SQL сочетает средства SDL и DML, т.е. позволяет определять схему реляционной БД и манипулировать данными. При этом именование объектов БД (для реляционной БД - именование таблиц и их столбцов) поддерживается на языковом уровне в том смысле, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов. Внутренняя часть СУБД (ядро) вообще не работает с именами таблиц и их столбцов.
Язык SQL содержит специальные средства определения ограничений целостности БД. Опять же ограничения целостности хранятся в специальных таблицах-каталогах, и обеспечение контроля целостности БД производится на языковом уровне, т.е. при компиляции операторов модификации БД компилятор SQL на основании имеющихся в БД ограничений целостности генерирует соответствующий программный код.
Специальные операторы языка SQL позволяют определять так называемые представления БД, фактически являющиеся хранимыми в БД запросами (результатом любого запроса к реляционной БД является таблица) с именованными столбцами. Для пользователя представление является такой же таблицей, как любая базовая таблица, хранимая в БД, но с помощью представлений можно ограничить или наоборот расширить видимость БД для конкретного пользователя. Поддержание представлений производится также на языковом уровне.
Наконец, авторизация доступа к объектам БД производится на основе специального набора операторов SQL. Идея состоит в том, что для выполнения операторов SQL разного вида пользователь должен обладать различными полномочиями. Пользователь, создавший таблицу БД, обладает полным набором полномочий для работы с этой таблицей. В их число входит полномочие на передачу всех или части полномочий другим пользователям, включая полномочие на передачу полномочий. Полномочия пользователей описываются в специальных таблицах-каталогах, контроль полномочий поддерживается на языковом уровне.
Типовая организация современной СУБД
Естественно, организация типичной СУБД и состав ее компонентов соответствует рассмотренному нами набору функций. Напомним, что мы выделили следующие основные функции СУБД:
управление данными во внешней памяти;
управление буферами оперативной памяти;
управление транзакциями;
журнализация и восстановление БД после сбоев;
поддержание языков БД.
Логически в современной реляционной СУБД можно выделить наиболее внутреннюю часть - ядро СУБД (часто его называют Data Base Engine), компилятор языка БД (обычно SQL), подсистему поддержки времени выполнения, набор утилит. В некоторых системах эти части выделяются явно, в других - нет, но логически такое разделение можно провести во всех СУБД.
Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Соответственно можно выделить такие компоненты ядра (по крайней мере, логически, хотя в некоторых системах эти компоненты выделяются явно), как менеджер данных, менеджер буферов, менеджер транзакций и менеджер журнала. Как можно было понять из первой части этой лекции, функции этих компонентов взаимосвязаны, и для обеспечения корректной работы СУБД все эти компоненты должны взаимодействовать по тщательно продуманным и проверенным протоколам. Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую и используемым в программах, производимых компилятором SQL (или в подсистеме поддержки выполнения таких программ), и утилитах БД. Ядро СУБД является основной резидентной частью СУБД. При использовании архитектуры "клиент-сервер" ядро является основным составляющим серверной части системы.
Основная функция компилятора языка БД - компиляция операторов языка БД в некоторую выполняемую программу.
Основной проблемой реляционных СУБД является то, что языки этих систем (а это, как правило, SQL) являются непроцедурными, т.е. в операторе такого языка специфицируется некоторое действие над БД, но эта спецификация не процедура, она лишь описывает в некоторой форме условия совершения желаемого действия. Поэтому компилятор должен решить, каким образом выполнять оператор языка, прежде чем произвести программу. Применяются достаточно сложные методы оптимизации операторов. Результатом компиляции является выполняемая программа, представляемая в некоторых системах в машинных кодах, но более часто в выполняемом внутреннем машинно-независимом коде. В последнем случае реальное выполнение оператора производится с привлечением подсистемы поддержки времени выполнения, представляющей собой, по сути дела, интерпретатор этого внутреннего языка.
Наконец, в отдельные утилиты БД обычно выделяют такие процедуры, которые слишком накладно выполнять с использованием языка БД, например, загрузка и разгрузка БД, сбор статистики, глобальная проверка целостности БД и т.д. Утилиты программируются с использованием интерфейса ядра СУБД, а иногда даже с проникновением внутрь ядра.
1. ТАБЛИЦА ИДЕНТИФИКАТОРОВ
Для выполнения данного задания был выбран наиболее функциональный Access 2000. В данном программном продукте компании Microsoft соединены все лучшие стороны всех предыдущих версий данного продукта.
С помощью встроенных функций Access 2000 была создана база данных и 2 таблицы одна из которых главная, а другая подчиненная.
Таблица Master Имя идентификатора поля Тип Num Счетчик - содержит автоматически создаваемые при внесении новой записи уникальные номера. Kod Код предприятия Name Наименование предприятия Date Дата начала внедрения новых технологий
Таблица Detail Имя идентификатора поля Тип Num Счетчик Kod Код предприятия Year Год вычисления затрат MoneyOfYear Сумма затрат в год вычисления затрат
В данные таблицы были занесены данные о предприятиях средствами Access.
2. СТРУКТУРА ПРОГРАММЫ
В Access 2000 существует несколько возможностей подготовки запросов:
- с помощью мастера;
- в режиме SQL.
Запросы для решения поставленных задач были созданы в режиме SQL, так как мастер запросов не обладает такой гибкостью как язык SQL:
Справка о суммарных затратах на каждый год периода (с 1996 г.).
Запрос S1:
SELECT detail.Year, Sum(detail.MoneyOfYear) AS [sum] FROM detail GROUP BY detail.Year;
Справка о пяти предприятиях с наибольшими суммарными затратами
Запрос S2_1 (вспомогательный):
SELECT SUM(MoneyOfYear) AS [sum], kod FROM detail GROUP BY kod;
Запрос S2:
SELECT TOP 5 master.name, S2_1.sum FROM master INNER JOIN S2_1 ON master.kod = S2_1.kod;
Предприятие с самым поздним началом внедрения
Запрос S3:
SELECT TOP 1 master.Date, master.Name FROM master ORDER BY master.Date DESC;
Справка о предприятиях, в которых средние годовые затраты больше общего среднего значения годовых затрат
Запрос S4_1 (вспомогательный):
SELECT AVG(MoneyOfYear) AS [avg] FROM detail;
Запрос S4_2 (вспомогательный):
SELECT AVG(MoneyOfYear) AS [avg], kod FROM detail GROUP BY kod;
Запрос S4:
SELECT master.Name, S4_2.avg FROM S4_1, S4_2 INNER JOIN master ON S4_2.kod = master.Kod WHERE (((S4_2.avg)>[S4_1].[avg]));
Справка о предприятиях с годом начала позже заданного
Запрос S4:
SELECT name, date FROM master WHERE date>intYear;
После создания запросов в среде Access 2000 было произведено преобразование базы данных к предыдущей версии Access средствами самой среды. Это было сделано для совместимости данной БД с предыдущими версиями.
Теперь переводим работы в область разработки приложений средствами Visual Basic.
Для этого создаем проект в среде Visual Basic и создаем интерфейс для доступа к базе данных Access. Данная программа будет позволять просматривать, добавлять и изменять данные по предприятиям.
Формы программы представлены на рис. 1.
Данное приложение через пункт меню Печать позволяет сохранять в файл и выводить на печать собственными средствами 5 заданных справок. Имена файлов S1.txt, S2.txt, S3.txt, S4.txt, S5.txt соответственно.


Рис.1 Формы программы.
3. ТЕКСТ ПРОГРАММЫ
Действующая программа прилагается на магнитном носителе.
Листинг:
Form1
Public intKod As Integer общая переменная для всех модулей - значение кода записи
Dim Db As Database, Rs As Recordset текущие перем. для выполнения SQL запросов
Dim Myrec As String перем. для работы со строкой в файле
Dim filename As String перем. имени файла
Dim intN As Integer счетчик
Public intYear As Integer перем. значение года в записи
Public Ins As Boolean перем.-флаг записи в таблицу
Private Sub Command1_Click()
Ins = True
intKod = 0
Form2.Show vbModal, Me вызов модальной формы
End Sub
Private Sub Command2_Click()
Ins = False
intKod = Data1.Recordset.Fields("KOD").Value & ""
Form2.Show vbModal, Me вызов модальной формы
End Sub
Private Sub Command3_Click()
Dim query As QueryDef
запрос на удаление из подчиненной таблицы
Set query = Db.CreateQueryDef("Del", "DELETE FROM detail WHERE kod=" & Data1.Recordset.Fields("KOD").Value)
query.Execute
Db.QueryDefs.Delete ("Del")
Data1.Recordset.Delete
End Sub
Private Sub DBGrid1_DblClick()
Ins = False
intKod = Data1.Recordset.Fields("KOD").Value & ""
Form2.Show vbModal, Me вызов модальной формы
End Sub
Private Sub Exit_Click()
Unload Form1 выгрузка формы из памяти
End Sub
Private Sub Form_Activate()
DBGrid1.Refresh обновление табличного элемента управления
End Sub
Private Function format(s As String, kol As Integer)
функция форматирующая строку
Do While Len(s) < kol
s = s & " "
Loop
If Len(s) > kol Then s = Mid(s, 1, kol)
format = s
End Function
Private Sub Form_Load()
Set Db = Workspaces(0).OpenDatabase("C:Kursdb2.mdb") открытие БД
End Sub
Private Sub S1_Click()
/////////S1
Set Rs = Db.OpenRecordset("SELECT year, SUM(MoneyOfYear) as sum FROM detail GROUP BY year", dbOpenDynaset)
Set Data2.Recordset = Rs

Open "c:kurss1.txt" For Output As 1
Print #1,
Print #1,
Print #1, "Справка о суммарных затратах на каждый год периода (с 1996 г.)"
Print #1, " _______________________________________________"
Print #1, "| №п/п | Год периода | Сумма |"
Print #1, " _______________________________________________"

intN = 1
Do While Not Data2.Recordset.EOF
Print #1, "|" & format(CStr(intN), 6) & "|" & format(CStr(Data2.Recordset.Fields("year").Value), 17) & "|" & format(CStr(Data2.Recordset.Fields("sum").Value), 22) & "|"
Data2.Recordset.MoveNext
intN = intN + 1
Loop
Print #1, " _______________________________________________"

Close #1

filename = "c:kurss1.txt"
Dim nnn As Integer
nnn = 0
Printer.Orientation = 1
Printer.FontName = "Courier New Cyr"
Printer.FontBold = True
Printer.FontSize = 10
Open filename For Input As 1
Do While Not EOF(1)
Line Input #1, Myrec
nnn = nnn + 1
Printer.Print Tab(1); Spc(10); Myrec
Loop
Close #1
Printer.EndDoc
End Sub
Private Sub S2_Click()
/////////S2
Set Rs = Db.OpenRecordset("SELECT SUM(MoneyOfYear) AS sum, kod FROM detail GROUP BY kod", dbOpenDynaset)
Set Data2.Recordset = Rs
Open "c:kurss2.txt" For Output As 1
Print #1,
Print #1,
Print #1, "Пять предприятий с наибольшими суммарными затратами"
Print #1, " _________________________________________________________________________"
Print #1, "| №п/п | Наименование предприятия | Сумма |"
Print #1, " _________________________________________________________________________"

intN = 1
Do While Not Data2.Recordset.EOF
Set Rs = Db.OpenRecordset("SELECT name FROM master WHERE kod=" & Data2.Recordset.Fields("kod").Value, dbOpenDynaset)
Set Data3.Recordset = Rs
Print #1, "|" & format(CStr(intN), 6) & "|" & format(CStr(Data3.Recordset.Fields("name").Value), 43) & "|" & format(CStr(Data2.Recordset.Fields("sum").Value), 22) & "|"
Data2.Recordset.MoveNext
intN = intN + 1
Loop
Print #1, " _________________________________________________________________________"

Close #1

filename = "c:kurss2.txt"
Dim nnn As Integer
nnn = 0
Printer.Orientation = 1
Printer.FontName = "Courier New Cyr"
Printer.FontBold = True
Printer.FontSize = 10
Open filename For Input As 1
Do While Not EOF(1)
Line Input #1, Myrec
nnn = nnn + 1
Printer.Print Tab(1); Spc(10); Myrec
Loop
Close #1
Printer.EndDoc
End Sub
Private Sub S3_Click()
/////////S3
Set Rs = Db.OpenRecordset("SELECT date, name FROM master ORDER BY date DESC", dbOpenDynaset)
Set Data2.Recordset = Rs
Open "c:kurss3.txt" For Output As 1
Print #1,
Print #1,
Print #1, "Предприятие с самым поздним началом внедрения"
Print #1, " _________________________________________________________________________"
Print #1, "| №п/п | Наименование предприятия | Год начала внедрения |"
Print #1, " _________________________________________________________________________"

intN = 1
Print #1, "|" & format(CStr(intN), 6) & "|" & format(CStr(Data2.Recordset.Fields("name").Value), 43) & "|" & format(CStr(Data2.Recordset.Fields("date").Value), 22) & "|"
Print #1, " _________________________________________________________________________"

Close #1

filename = "c:kurss3.txt"
Dim nnn As Integer
nnn = 0
Printer.Orientation = 1
Printer.FontName = "Courier New Cyr"
Printer.FontBold = True
Printer.FontSize = 10
Open filename For Input As 1
Do While Not EOF(1)
Line Input #1, Myrec
nnn = nnn + 1
Printer.Print Tab(1); Spc(10); Myrec
Loop
Close #1
Printer.EndDoc
End Sub
Private Sub S4_Click()
Dim intAvg As Integer
/////////S4
Set Rs = Db.OpenRecordset("SELECT AVG(MoneyOfYear) AS avg FROM detail", dbOpenDynaset)
Set Data3.Recordset = Rs
intAvg = Data3.Recordset.Fields("avg").Value
Set Rs = Db.OpenRecordset("SELECT AVG(MoneyOfYear) AS avg, kod FROM detail GROUP BY kod", dbOpenDynaset)
Set Data2.Recordset = Rs
Open "c:kurss4.txt" For Output As 1
Print #1,
Print #1,
Print #1, "Предприятия, в которых средние годовые затраты больше общего среднего значения годовых затрат=" & intAvg
Print #1, " __________________________________________________________________________"
Print #1, "| №п/п | Наименование предприятия |Средние годовые затраты|"
Print #1, " __________________________________________________________________________"
intN = 1
Do While Not Data2.Recordset.EOF
Set Rs = Db.OpenRecordset("SELECT name FROM master WHERE kod=" & Data2.Recordset.Fields("kod").Value, dbOpenDynaset)
Set Data3.Recordset = Rs
If Data2.Recordset.Fields("avg").Value > intAvg Then
Print #1, "|" & format(CStr(intN), 6) & "|" & format(CStr(Data3.Recordset.Fields("name").Value), 43) & "|" & format(CStr(Data2.Recordset.Fields("avg").Value), 23) & "|"
intN = intN + 1
End If
Data2.Recordset.MoveNext
Loop
Print #1, " __________________________________________________________________________"

Close #1

filename = "c:kurss4.txt"
Dim nnn As Integer
nnn = 0
Printer.Orientation = 1
Printer.FontName = "Courier New Cyr"
Printer.FontBold = True
Printer.FontSize = 10
Open filename For Input As 1
Do While Not EOF(1)
Line Input #1, Myrec
nnn = nnn + 1
Printer.Print Tab(1); Spc(10); Myrec
Loop
Close #1
Printer.EndDoc
End Sub
Private Sub S5_Click()
/////////S5
Form4.Show vbModal, Me
Set Rs = Db.OpenRecordset("SELECT name, date FROM master WHERE date>" & intYear, dbOpenDynaset)
Set Data2.Recordset = Rs
Open "c:kurss5.txt" For Output As 1
Print #1,
Print #1,
Print #1, "Предприятия с годом внедрения технологий позже " & intYear & " года"
Print #1, " ___________________________________________________________________________"
Print #1, "| №п/п | Наименование предприятия |Год внедрения технологий|"
Print #1, " ___________________________________________________________________________"
intN = 1
Do While Not Data2.Recordset.EOF
Print #1, "|" & format(CStr(intN), 6) & "|" & format(CStr(Data2.Recordset.Fields("name").Value), 43) & "|" & format(CStr(Data2.Recordset.Fields("date").Value), 24) & "|"
intN = intN + 1
Data2.Recordset.MoveNext
Loop
Print #1, " ___________________________________________________________________________"

Close #1

filename = "c:kurss5.txt"
Dim nnn As Integer
nnn = 0
Printer.Orientation = 1
Printer.FontName = "Courier New Cyr"
Printer.FontBold = True
Printer.FontSize = 10
Open filename For Input As 1
Do While Not EOF(1)
Line Input #1, Myrec
nnn = nnn + 1
Printer.Print Tab(1); Spc(10); Myrec
Loop
Close #1
Printer.EndDoc
End Sub
Form2
Dim Db As Database, Rs As Recordset
Dim stat As Boolean
функция по фильтрованию записей, не используется
Function FilterField(intFilter As Integer) As Recordset
Dim Db As Database, rstTemp As Recordset
Set Db = Workspaces(0).OpenDatabase("C:Kursdb2.mdb")
Set rstTemp = Db.OpenRecordset("DETAIL", dbOpenSnapshot)
rstTemp.Filter = "KOD = " & intFilter
Set FilterField = rstTemp.OpenRecordset
End Function
Private Sub Command1_Click()
If Text1.Text <> "" Then
Set Rs = Db.OpenRecordset("SELECT kod FROM master WHERE kod=" & Text1.Text, dbOpenDynaset)
If Rs.RecordCount <> 0 And stat = True Then
t = MsgBox("Данный код предприятия уже присутствует в базе данных. Смените его.", 0, "Ошибка")
Else
Unload Form2
End If
End If
End Sub
Private Sub Command3_Click()
Form1.Ins = True
Form3.Show vbModal, Me
End Sub
Private Sub Command4_Click()
Form1.Ins = False
Form3.Show vbModal, Me
End Sub
Private Sub Command5_Click()
Data2.Recordset.Delete
End Sub
Private Sub DBGrid1_DblClick()
Form1.Ins = False
Form3.Show vbModal, Me
End Sub
Private Sub Form_Activate()
Set Rs = Db.OpenRecordset("SELECT Year,MoneyOfYear,kod FROM detail WHERE kod=" & Form1.intKod, dbOpenDynaset)
Set Data2.Recordset = Rs
DBGrid1.Refresh
End Sub
Private Sub Form_Load()
stat = Form1.Ins
Set Db = Workspaces(0).OpenDatabase("C:Kursdb2.mdb", , False)
Set Data1.Recordset = Form1.Data1.Recordset
Text1.Enabled = False
Data1.ReadOnly = False
If Form1.Ins = False Then
Set Rs = Db.OpenRecordset("SELECT Year,MoneyOfYear,kod FROM detail WHERE kod=" & Form1.intKod, dbOpenDynaset)
Set Data2.Recordset = Rs
Data2.Refresh
DBGrid1.Refresh
Else
Text1.Enabled = True
Data1.Recordset.AddNew
End If
добавление в ComboBox строк выбора
Combo1.AddItem ("1996")
Combo1.AddItem ("1997")
Combo1.AddItem ("1998")
Combo1.AddItem ("1999")
Combo1.AddItem ("2000")
End Sub
Form3
Private Sub Command1_Click()
If Form1.Ins = True Then если режим вставки
Data1.Recordset.Fields("KOD").Value = Form2.Text1.Text
End If
Unload Form3 выгрузка формы
End Sub
Private Sub Form_Load()
Set Data1.Recordset = Form2.Data2.Recordset присваиваем текущему набору данных исходный набор
If Form1.Ins = True Then Data1.Recordset.AddNew если режим вставки, то добавляем запись
End Sub
Form4
Private Sub Command1_Click()
Form1.intYear = CInt(Combo1.Text) запоминаем введенный в форме год
Form4.Hide скрываем форму без ее выгрузки
End Sub
Private Sub Form_Load()
Combo1.Text = ""
Combo1.AddItem ("1996")
Combo1.AddItem ("1997")
Combo1.AddItem ("1998")
Combo1.AddItem ("1999")
Combo1.AddItem ("2000")
End Sub
4. ИСХОДНЫЕ ДАННЫЕ И РЕЗУЛЬТАТЫ ОБРАБОТКИ
Допустим имеются следующие данные по предприятиям города: Код Наименование Год начала внедрения новых технологий Затраты на внедрение Год Сумма 1 Саратовский подшипниковый завод 1996 1996 234 1997 346 1998 656 1999 2323 2000 45 2 Радиоприборный завод 1996 1996 1 1997 1 1998 1 1999 22 2000 66666 3 Саратовмука 1998 1998 1 1999 22 2000 66666 4 Полиграфкомбинат №1 1997 1997 971 1998 44 1999 344 2000 56 5 Хлебозавод №3 1999 1999 7777 2000 45444 6 ПО "Бином" 1996 1996 234545 1998 85634 2000 53455 34 Примерное предприятие 1996 1996 5656 1997 19652 1998 7845 1999 21111 10 ООО ТеЛКаТ 1997 1997 16328,45 1998 23442 1999 23524 2000 9564 13 Резерв 1999 1999 52341 2000 90766 15 ГражданПроект 1998 1998 8362 1999 65743 2000 45325 16 ПромПроект 2000 2000 435345 Для того чтобы внести имеющуюся информацию в базу данных необходимо открыть файл "db2.mdb", войти в таблицу "master" и ввести в графу "Kod" - код предприятия, в графу "Name" - название предприятия, в графу "Date" - год начала внедрения новых технологий. Далее нужно войти в таблицу "Detail" и ввести в графу "Kod" - код предприятия, а в графу "Year" и "MoneyOfYear" - годы и соответствующие им затраты на внедрение новых технологий.
Запуск программы осуществляется файлом "kurs.exe ". Программа через пункт меню Печать позволяет выводить на печать собственными средствами 5 заданных справок.
Справка о суммарных затратах на каждый год периода распечатывается при выборе пункта с одноименным названием в меню Печать (приведена в приложении 1).
Справка о пяти предприятиях с наибольшими суммарными затратами распечатывается при выборе пункта с одноименным названием в меню Печать (приведена в приложении 2).
Определение и распечатка предприятия с самым поздним сроком внедрения производится при выборе пункта "Предприятие с самым поздним началом внедрения" в меню Печать (приложение 3).
Справка о предприятиях, в которых средние годовые затраты больше общего среднего можно распечатать выбрав пункт "Превышение средних годовых затрат" в меню Печать (приложение 4).
Напечатать справку о предприятиях с годом начала позже заданного можно выбрав пункт меню Печать "Внедрили технологии с..." (приложение 5).
СПИСОК ЛИТЕРАТУРЫ
"Visual Basic 6.0 Programmers Guide" Microsoft corporation 1998
Райтингер М., Муч Г. Visual Basic 6.0 - полное руководство. М.:1997
Сигнор Р., Стегман М. Использование ODBC для доступа к базам данных М.: 1999.
"Access 2000" Microsoft corporation 2000.
Джонс Э., Джонс Дж. М. Ассеss 97: книга ответов - СПб.: Питер, 1998.
Приложение 1
Справка о суммарных затратах на каждый год периода (с 1996 г.)
_______________________________________________
| №п/п | Год периода | Сумма |
_______________________________________________
|1 |1996 |240436 |
|2 |1997 |37298.45 |
|3 |1998 |125985 |
|4 |1999 |173207 |
|5 |2000 |813332 |
Приложение 2
Пять предприятий с наибольшими суммарными затратами
_____________________________________________________________
| №п/п | Наименование предприятия | Сумма |
_____________________________________________________________
|1 |Саратовский подшипниковый завод |3604 |
|2 |Радиоприборный завод |66691 |
|3 |Саратовмука |66689 |
|4 |Полиграфкомбинат №1 |1415 |
|5 |Хлебозавод №3 |53221 |
Приложение 3
Предприятие с самым поздним началом внедрения
_____________________________________________________________
| №п/п | Наименование предприятия | Год начала внедрения |
_____________________________________________________________ |1 |ПромПроект | 2000 _____________________________________________________________
Приложение 4
Предприятия, в которых средние годовые затраты больше общего среднего значения годовых затрат=38618.2902777778
_____________________________________________________________
| №п/п | Наименование предприятия |Средние годовые затраты|
_____________________________________________________________
|1 |ПО "Бином" |124544.666666667
|2 |Резерв |71553.5
|3 |ГражданПроект |39810
|4 |ПромПроект |435345
_____________________________________________________________
Приложение 5
Предприятия с годом внедрения технологий позже 1998 года
_____________________________________________________________
| №п/п | Наименование предприятия |Год внедрения технологий|
_____________________________________________________________
|1 |Хлебозавод №3 |1999
|2 |Резерв |1999
|3 |ПромПроект |2000
____________________________________________________________
2

Работа на этой странице представлена для Вашего ознакомления в текстовом (сокращенном) виде. Для того, чтобы получить полностью оформленную работу в формате Word, со всеми сносками, таблицами, рисунками, графиками, приложениями и т.д., достаточно просто её СКАЧАТЬ.



Мы выполняем любые темы
экономические
гуманитарные
юридические
технические
Закажите сейчас
Лучшие работы
 Контрольная работа по неорганической химии (05 зад.)
 Аудит расчетов по подоходному налогу с физических лиц
Ваши отзывы
Дипломы получены, спасибо. Поздравляем Вас с Новым Годом и Рождеством. Желаем вашим авторам здоровья и побольше хороших клиентов.
Максим и Ольга

Copyright © refbank.ru 2005-2024
Все права на представленные на сайте материалы принадлежат refbank.ru.
Перепечатка, копирование материалов без разрешения администрации сайта запрещено.