Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование реализации операций бизнес-процесса «Учет предоставленных услуг салоном красоты.

Содержание:

ВВЕДЕНИЕ

Целью работы является проектирование реализации операций бизнес-процесса учет предоставленных услуг салоном красоты;.

Требуется разработка автоматизированной системы, которая будет включать в себя базу данных и приложение, обладающее интерфейсом просмотра и правки, а также средствами обработки хранящейся в базе данных информации. Актуальностью данной темы является современный динамично развивающийся мир открывающий новые перспективы для роста некоторых сфер экономической деятельности. Одной из таких сфер является сфера услуг. Развитие данной отрасли обусловлено множеством различных факторов. Для более эффективного развития данной отрасли нужно использовать автоматизированные информационные системы.

Для достижения данной цели были выявлены следующие задачи:

1. Анализ предметной области «Салона красоты».

2. Проектирование БД в исследуемой предметной области (включающее проектирование структуры таблиц, ключевых полей и схемы данных).

3. Приобретение навыков по созданию запросов различных типов в СУБД Microsoft Access.

ГЛАВА 1. АНАЛИТИЧЕСКАЯ ЧАСТЬ

Выбор комплекса задач автоматизации

В моем курсовом проекте в качестве исследуемой организации выступает Салон красоты «Амели». В нем рассматривается, какие услуги предоставляются в салоне, какие мастера обслуживают в той или иной услуге, сведения о клиентах и сотрудниках салона.

АИС – это совокупность различных программно-аппаратных средств, которые предназначены для автоматизации какой-либо деятельности, связанной с передачей, хранением и обработкой различной информации.

АИС представляют, с одной стороны, разновидность ИС, а с другой стороны, являются автоматизированной системой.

Она позволяет:

1. работать с огромным объемом данных;

2. хранить какие-либо данные в течении довольно длительного времени периода:

3. существенно снизить затраты на доступ и хранение к любым необходимым данным.

АИС может быть легко определена как целый комплекс современных автоматизированных ИТ, которые предназначены для какого-либо информационного обслуживания.

Объектом исследования данной курсовой работы является «Салон красоты «АМЕЛИ».

АИС представляет собой комплексную систему управления предпринимателями индустрии красоты.

Учет денежных средств;

Оказание определенных услуг;

Посещаемости клиентов.

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

Характеристика документооборота, возникающего при решении задачи

Можно выделить следующие объекты данной предметной области:

1) Услуги – содержит информацию о предоставляемых в парикмахерской услугах. Объект содержит следующие атрибуты: Код услуги, наименование услуги, описание услуги, стоимость услуги.

2) Мастера – предназначен для хранения информации о мастерах парикмахерской. Объект включает в себя следующие атрибуты: Код мастера, фамилия, имя , отчество мастера, телефон мастера, адрес мастера.

3) График – содержит информацию о графике работы мастеров. Объект содержит атрибуты: Код графика, Код мастера, день недели, время.

4) Оказанные услуги –содержит информацию об оказанных ранее услугах. Объект содержит следующие атрибуты: Код оказания, код мастера, код услуги, дата оказания.

5) Клиент- заключает договор с Салон красоты.

Покажем, как связаны экземпляры сущностей между собой.

Сущность «мастера» с сущностью «услуги» связана типом связи «один-ко-многим». Один со стороны «мастера» и многие со стороны «график работы». Так же сущность «мастера» связана с сущностью «оказание услуги» связью «один-ко-многим». Так как мастер может быть один, а оказанных услуг много.

Сущность «услуги» связана с сущностью «оказанные услуги» связью «один ко многим». Один со стороны «услуги» и многие со стороны «оказанные услуги».

В таблице 1.1 описаны таблицы базы данных.

Модель бизнес-процессов организации в IDF0.

Контекстная диаграмма - процесс Салона красоты, взаимодействие его с внешней средой. Что управляет процессом, какая информация поступает, какая выходит, механизмы, связанные с выполнением операции, мы можем видеть на Рисунке 1.1.

Рисунок 1.1 - Контекстная диаграмма – «Деятельность организации»

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

Рисунок 1.2 – Первая декомпозиция

Вторая декомпозиция - более детальная разбивка каждого блока первой декомпозиции. То есть более глубокое рассмотрение конкретного процесса. На Рисунке 1.3 мы видим, как внешняя среда взаимодействует процессами, которые протекают на уровне «Прием заказа».

Рисунок 1.3 – Вторая декомпозиция – «Приём заказа»

Деятельность организации:

Блок «Салон красоты»

Описание процесса функционирования: Оказание услуг Клиенту.

Входы:

  1. «Запрос клиента». Заказ на оказание услуги.

Управление:

  1. «Документация». Правила и нормы для сотрудников Салона красоты, а так же формы для отчетов.
  2. «Перечень услуг». Список и стоимость услуг.

Выходы:

  1. «Оказание услуг». Оказание услуг клиенту.

Механизмы:

  1. «Мастер». Участник процесса, который работает с данными.
  2. «Клиент». Участник процесса, являющийся конечным потребителем.
  3. «График» Дополнительный вспомогательный механизм.

Первая декомпозиция:

Блок «Прием заказа»

Описание процесса функционирования: На основание требований клиента составляется заказ, и заносятся информация в БД.

Входы:

  1. «Запрос клиента». Клиент заказывает определенную услугу.

Управление:

  1. «Документация». Нормы и правила, обязующие сотрудника действовать в рамках корпоративной этики компании.
  2. «Перечень услуг». Список и стоимость услуг.

Выходы:

  1. «Созданный заказ ». В соответствии с требованиями клиента, с учетом всех норм и правил.

Механизмы:

  1. «Мастер». Проводит работу с данными.
  2. «Клиент». Является конечным потребителем.
  3. «График». Дополнительная информация для оформления заказа.

Блок «Звонок клиента»

Описание процесса: Определяется вид услуги, дата и время оказания услуги.

Блок «Согласования дня и времени обслуживания»

Описание процесса: Обозначается дата и время оказания услуги.

Блок «Занесение информации в БД»

Описание процесса: Вся информация заносится в БД.

Вторая декомпозиция:

Блок «Обработка заказа»

Описание процесса: Назначается мастер, который будет в дальнейшем оказывать услугу.

Входы:

  1. «Заказ на обработку». Созданный заказ.

Управление:

  1. .«Документация». Нормы и правила для сотрудников организации, а так же различные формы для отчетов.
  2. «Перечень услуг». Список и стоимость услуг.

Выходы:

  1. «Оказание услуги». Мастер оказывает услугу клиенту.

Механизмы:

  1. «Сотрудник». Участник процесса, работает с данными.
  2. «Клиент». Участник процесса, является конечным потребителем.
  3. «График». Вспомогательный элемент для регистрации заказа.

Модель информационных потоков организации (DFD)

На модели информационных потоков организации (DFD) непосредственно показаны источники и получатели информации, потоки данных между процессами, а так же как хранятся данные. На концептуальной диаграмме (Рисунок 1.4) демонстрируется связь системы с ее окружением.

Рисунок 1.4 – Концептуальная диаграмма

На Рисунке 1.5 демонстрируется модель потоков данных для функции «Салон красоты». На диаграмме имеются процессы, внешние сущности и связи между ними.

Рисунок 1.5 – Концептуальная диаграмма

Диаграмма Use Case для всех выявленных сценариев внутри выбранного процесса (не менее трёх UC). А именно Создать заказ. (Рисунок 1.6).

Рисунок 1.6 –Диаграмма Use case

Текстовое описание Use Case. Создать заказ и обработать услугу.

Создать заказ.

        1. Получить от Клиента информацию о необходимой услуге.
        2. Проверить график.
        3. Согласовать дату и время оказания услуги.
        4. Занести информацию в Базу Данных.

Рисунок 1.7

Характеристика существующих бизнес –процессов

Рис.1. Нотация ДБ салона красоты «АМЕЛИ»

Организационная структура БД салона красоты

Обоснование проектных решений по информационному обеспечению

Обоснование проектных решений по программному обеспечению

Оптимальным будет выбор сделанный в пользу Microsoft Access, поскольку он обладает рядом преимуществ по сравнению с другими СУБД, а именно: удобство использования и одновременно мощность продукта — в сочетании с возможностью построения комплексных решений на базе современных технологий; совместим с большинством приложений работающих из под Windows; не требует установки драйверов доступа к данным в этом формате, так как они поставляются с операционными системами Windows.

ГЛАВА 2. ПРОЕКТНАЯ ЧАСТЬ

Информационная модель и её описание

Графическое представление информационной модели отражено на рис. 2.1.

Рисунок 2.1 – Информационная модель системы

Характеристика нормативно-справочной, входной и оперативной информации

В качестве нормативно-справочной, входной и оперативной информацииинформации используется информация:

Запрос – это средство выбора необходимой информации из базы данных. Вопрос, сформированный по отношению к базе данных, и есть запрос. Запросы в access позволяют управлять данными: добавлять, удалять, изменять.

В моей базе данных были использованы следующие запросы:

Запросы на выборку - применяется, если нужно извлечь данные из нескольких связанных таблиц, сгруппировать данные или вычислить итоги. С помощью запроса на выборку можно получить только нужные данные и отобразить их в режиме таблицы.

Запросы на изменение - запрос, который за одну операцию изменяет или перемещает несколько записей. Существует четыре типа запросов на изменение, но в моей БД я использовала два типа запросов:

- Запрос на удаление;

- Запрос на добавление;

Характеристика результатной информации

Подраздел «Выходная информация» содержится перечень и описание выходных сообщений (экранных форм, документов и пр.).

В подразделе «Выбор и обоснование выбора используемого программного обеспечения» выбирается программное обеспечение, которое будет использоваться при работе над курсовым проектом.

В программе Access можно создавать различные типы отчетов, отвечающие разнообразным требованиям. Существует несколько способов создания отчета Access:

Автоотчет - функция «Автоотчет» позволяет быстро создать отчет, включающий все сведения заданной таблицы или данные, извлеченные в результате запроса. В качестве основы для отчета можно использовать таблицу или результат запроса.

Мастер отчетов - мастер отчетов позволяет быстро создать отчет на основе данных нескольких таблиц или запросов. В качестве основы для отчета можно использовать сочетание таблиц и запросов.

Режим конструктора- с одной стороны, создание отчетов в режиме конструктора занимает больше времени, чем создание отчета с помощью мастера отчетов или функции «Автоотчет», но с другой стороны, отчеты, созданные в режиме конструктора, можно настроить таким образом, чтобы они максимально отвечали требованиям пользователя. Например, можно сортировать и фильтровать данные более подробно, нежели это позволяет мастер отчетов. Режим конструктора также открывает больше возможностей для настройки внешнего вида отчета.

По моей СУБД представлены следующие отчеты:

- отчеты должности сотрудников

Из него можно узнать необходимые данные о конкретной должности: наименование должности и оклад.

- отчеты по клиентам

Из него можно узнать необходимые сведения о клиентах салона.

-отчеты по услугам салона.

Из него можно узнать необходимые данные о необходимой услуге: код услуги, табельный номер сотрудника, стоимость услуги.

Общие положения (дерево функций и сценарий диалога)

Основным действующим лицом в разработанной системе является сотрудник отдела. Дерево функций для пользователя представлено на рисунке 2.2.

Рисунок 2.2 - Дерево функций системы сотрудника

Сценарии диалога, формирующийся на основе дерева функций, приведен на рисунке 2.3.

Рисунок 2.3 - Сценарий диалога для пользователя

Характеристика базы данных

Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью (Рисунок 2.4).

Рисунок 2.4 – Логическая модель

Рисунок 2.5 – Схема структуры БД, полученная в среде ERWIN

Рисунок 2.6 – Схема структуры БД, полученная в среде ERWIN

Таблица 2.1

Описание таблиц БД

Объект

Таблица

БД

Свойство объекта (атрибут, поле БД)

Тип и длина поля

Другие ограничения

График работы

График работы

Код графика

счетчик

уникальный

Код мастера

числовой

Внешний ключ

День недели

Текстовый до 20

Обязательное

Время

Текстовый до 10

обязательное

мастера

мастера

Код мастера

счетчик

уникальный

ФИО мастера

Текстовый до 30

обязательное

Дом. телефон

Текстовый до 6

# # \ - # # \ - # #

Адреса мастеров

Текстовый до 50

обязательное

услуги

услуги

Код услуги

Счетчик

уникальный

Наименование

Текстовый до 20

уникальный

Описание услуги

Текстовый до 100

Обязательное

Стоимость услуги

числовой

обязательное

Оказанные услуги

Оказанные услуги

Код оказания

Счетчик

уникальный

Код мастера

Числовой

Внешний ключ

Код услуги

Числовой

Внешний ключ

Дата оказания

Дата/время

Обязательное

Рисунок 2.7 - Схема базы данных, полученная в среде Microsoft Access

Структурная схема пакета (дерево вызова программных модулей)

Для разработки системы автоматизации организации используется система приложение. Эта система имеет модульную форму организации конфигурации. В глобальных модулях хранятся переменные, процедуры и функции доступные из любых других модулей. Также можно выделить другие группы модулей:

  • справочники
  • документы
  • отчеты
  • обработки
  • регистры.

Описание программных модулей

Работа с программой начинается с выбора пользователя и вывода информационного окна и активизации системы меню.

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

Программа состоит из следующих основных модулей.

Глобальный модуль - конфигурация среды окружения, формирование основного экрана программы, создание системы главного меню и соответствующих подменю, активизация меню.

Процедуры формирования отчетов – обеспечение выдачи установленных форм документов на основании критериев, определяемых пользователем и информационной базы.

Модуль справочников и модуль документов - обеспечение ввода информации с первичных документов в базы данных, контроль за допустимостью значений, обеспечение ввода данных путем выбора из списка.

Все модули в программе связаны между собой по данным, которые анализируются на входе и вырабатываются на выходе. Данные в модули поступают через диалог с пользователем, параметры и документы информационной базы.

Для ведения информационной базы могут быть выполнены операции просмотра и печати документов, их редактирование, ведение нормативно-справочных документов, а также создание архивов и восстановление документов БД. Операции осуществляются путем выбора соответствующих пунктов в главном и подчиненных меню.

Данные через диалог могут быть получены прямым и косвенным способом. Прямой способ реализуется путем их ввода по шаблону или по запросу конкретных значений. Косвенный способ – путем меню.

Параметры (входные документы ) – входные данные, полученные в виде конкретных значений, переданных в оперативной памяти смежным модулям (функциям ).

    1. Контрольный пример реализации проекта и его описание

В данном курсовом проекте решаются следующие информационные задачи:

  • оказание услуги (ввод данных об оказанной услуге);
  • ведение и коррекция стоимости услуг в прайс-листе (групповое изменение цен с заданным коэффициентом);
  • еженедельное обновление графика работы мастеров (ввод или изменение графика работы на неделю);
  • ежемесячная отчетность (формирование ведомости оказания услуг по установленной форме);
  • передача устаревших документов в архив (удаление в архив данных об оказанных услугах за прошедший месяц);
  • поиск телефона нужного мастера по его ФИО;
  • выборка фамилий мастеров, работающих в заданный день недели;
  • выборка ФИО мастеров, выполнявших заданный вид работ в заданном интервале времени;
  • расчет стоимости работ определенного мастера за какой-либо месяц;
  • диаграмма: расчет суммарной стоимости оказанных услуг с группировкой по виду услуг;
  • расчет суммарной стоимости услуг, оказанных всеми мастерами парикмахерской, по дням недели (перекрестный).

Сведения о выполняемых информационных задачах приводятся в таблице 2.2.

Таблица 2.2

Описание информационных задач

Название задачи

Входные данные

Выходные данные

Программная реализация

Примечание

Ввод и редактирование информации

Код оказания

Код мастера

Код услуги

Дата оказания

Код оказания

Код мастера

Код услуги

Дата оказания

Форма «оказанные услуги»

Код мастера

ФИО мастера

Дом. телефон

Адрес мастера

Код мастера

ФИО мастера

Дом. телефон

Адрес мастера

Форма «мастера»

код графика

Код мастера

День недели

время

код графика

Код мастера

День недели

время

Форма «график работы»

Код услуги

наименование

описание

стоимость

Код услуги

наименование

описание

стоимость

Форма «услуги»

Выборка ФИО мастеров, выполняющих заданный вид работ в заданном интервале времени

Наименование услуги

ФИО мастера

Наименоваие

время

запрос «время»

для выполнения запроса необходимо ввести наименование услуги

Выборка фамилий мастеров, работающих в заданный день недели

День недели

День недеги ФИО мастера

запрос «день неделиа»

для выполнения запроса необходимо ввести день недели

Поиск телефона нужного мастера по его ФИО

ФИО

ФИО мастера

Дом. телефон

запрос «поиск телефона»

для выполнения запроса необходимо ввести ФИО

Расчет суммарной стоимости услуг, оказанных всеми мастерами парикмахерской, по дням недели

Таблицы «услуги», «мастера», «оказанные услуги»

ФИО мастера

дата оказания

стоимость

запрос «сумма оказанных услуг по дням недели»

Создается перекрестный запрос по таблицам «мастера», «оказанные услуги», «услуги»

Расчет суммарной стоимости работы мастера Х за месяц У.

Таблицы «услуги», «мастера», «оказанные услуги»

ФИО мастера

Суммарная стоимость работы

запрос «

расчет»

Создание запроса с группировкой по стоимости услуги SUM.

Расчет суммарной стоимости оказанных услуг с группировкой по виду услуг

Таблицы «услуги», «оказанные услуги»

Наименование услуги

Стоимость услуги

Запрос «запрос группировка услуг»

Группировка наименования услуги по стоимости услуги SUM

формирование и вывод на печать прейскуранта услуг

Таблица «услуги»

наименование описание

стоимость

отчет

«услуги»

Формирование и вывод на печать ведомости оказанных услуг за месяц с группировкой по видам услуг, мастерам и сумме оказанных услуг

Запрос «расчет стоимости работ за месяц»

ФИО мастера

стоимость

диаграмма рейтинга мастеров за месяц

Отчет «диаграмма расчет стоимости за месяц»

для выполнения необходимо ввести месяц

Расписание работы мастеров

код графика

Код мастера

День недели

время

ФИО мастера , день недели, время.

Отчет «график работы»

Ведомость оказанных услуг за месяц с группировкой по видам услуг

Запрос «ведомость»

Наименование услуг, ФИО мастера, дата оказания

Отчет «ведомость»

для выполнения необходимо ввести месяц

База данных предназначена для информационно-справочной системы «Салон красоты»:

1) сведения о услугах, выполняемых мастерами, их стоимости; информация о мастерах и их графике работы ;

2)вывод в удобной форме данных по следующим запросам пользователя:

  • хранение данных о предлагаемых услугах (название, стоимость, описание услуги),
  • об оказанных услугах (кто оказал, что сделано, когда),
  • список мастеров и график их работы; поиск телефона нужного мастера по его ФИО;
  • выборка фамилий мастеров, работающих в заданный день недели;
  • выборка ФИО мастеров, выполнявших заданный вид работ в заданном интервале времени;
  • расчет стоимости работ мастера Х за месяц У;
  • расчет суммарной стоимости оказанных услуг, оказанных всеми мастерами салона красоты, по дням недели ( перекрестный )

3)автоматизация обработки информации при следующих бизнес-операциях:

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

4)вывод следующих данных на печать:

  • прейскурант услуг;
  • ведомость оказанных услуг за месяц с группировкой по видам услуг, мастерам и дате;
  • расписание работы мастеров,
  • диаграмма.

Для успешной работы системы программы необходимы следующие условия:

  1. операционная система Windows 98 и выше;
  2. СУБД Microsoft Access 98 и выше;
  3. оперативная память 32 Мб и более;
  4. принтер формата А4 или А3.

После того как произошла загрузка БД, в главной кнопочной форме необходимо выбрать нужный режим работы, выбирая соответствующий пункт меню:

  • Ввод данных;
  • Поиск и редактирование данных;
  • Отчеты;
  • Справка;
  • Перейти к базе данных;
  • Выйти из MS ACCESS.

Для выбора необходимо щелкнуть кнопкой мыши на соответствующей кнопке

Рисунок 2.8 - Форма «Заставка»

Рисунок 2.9 - Форма «Главная кнопочная форма»

При выборе пункта меню «Ввод данных» открывается составная форма «Ввод данных» (Рисунок 2.10).

Рисунок 2.10 - Форма «Ввод данных»

При нажатии кнопки «график» открывается форма «график», которая обеспечивает ввод данных о графике работы мастеров.

При нажатии кнопки «мастера» открывается форма «мастера», которая обеспечивает ввод данных о мастерах парикмахерской.

При нажатии кнопки «оказанные услуги» открывается форма «оказанные услуги», которая обеспечивает ввод данных о услугах, уже оказанных салоном красоты.

При нажатии кнопки «услуги» открывается форма «услуги», которая обеспечивает ввод и редактирование данных услугах, выполняемых в салоном красоты.

Кнопка «Отмена» предназначена для закрытия формы «Ввод данных» и возврата в главную кнопочную форму.

При нажатии кнопки «Поиск и редактирование данных» на главной кнопочной форме, открывается составная форма «Поиск и редактирование данных» (Рисунок 2.11).

Рисунок 2.11 - Форма «Поиск и редактирование данных»

При нажатии кнопки «работа мастера за определенное время» выводится диалоговое окно для ввода наименования услуги (Рисунок 2.12).

Рисунок 2.12 - Диалоговое окно для ввода наименования услуги.

Для выполнения запроса необходимо ввести наименование услуги, о которой нужно получить сведения, и нажать кнопку OK. В результате на экран выведутся данные о работе мастера.

При нажатии кнопки «работа мастера в заданный день недели» выводится диалоговое окно для ввода дня недели. (Рисунок 2.13)

Рисунок 2.13 - Диалоговое окно для ввода дня недели.

Для выполнения запроса необходимо ввести день недели, о котором нужно получить сведения, и нажать кнопку OK. В результате на экран выведутся данные о работе мастера.

При нажатии кнопки «телефон мастера» выводится диалоговое окно для ввода ФИО мастера. (Рисунок 2.14)

Рисунок 2.14 - Диалоговое окно для ввода ФИО мастера

Для выполнения запроса необходимо ввести ФИО мастера и нажать кнопку OK. В результате на экран выведутся данные о телефоне определенного мастера.

При нажатии кнопки «расчет стоимости услуг» выводится расчет суммарной стоимости оказанных услуг, оказанных мастерами, по дням недели(Рисунок 2.15).

Рисунок 2.15 - Расчет стоимости услуг

При нажатии кнопки «выручка мастером за месяц» выводится диалоговое окно для ввода месяца(Рисунок 2.16).

Рисунок 2.16 - Диалоговое окно для ввода месяца

Для выполнения запроса необходимо ввести месяц и нажать кнопку OK. В результате на экран выведутся данные о выручке за месяц.

При нажатии кнопки «суммарная стоимость услуг» выводится диалоговое окно суммарной стоимости услуг за месяц(Рисунок 2.17).

Рисунок 2.17 - Диалоговое окно стоимости услуг

Нажатие на кнопку «Отчеты» на главной форме приведет к открытию формы «Отчеты» (Рисунок 2.18).

Рисунок 2.18 - Форма «Отчеты»

В группе переключателей «Выбор отчета» необходимо щелчком левой кнопки мыши выбрать нужный отчет.

При нажатии кнопки «Просмотр» выбранный отчет открывается в режиме просмотра .

При нажатии кнопки «Печать» выбранный отчет выводится на печать.

Кнопка «Отмена» предназначена для закрытия формы «Отчеты» и возврата в главную кнопочную форму.

Кнопка «Выйти из MS ACCESS» предназначена для закрытия программы MS ACCESS.

При работе с формами нужно придерживаться следующих правил:

1. Для просмотра информации пользователь может использовать кнопки перехода по записям с типовыми рисунками на них.( Рисунок 2.19)

Рисунок 2.19 - Кнопки перехода

2. Для ввода информации необходимо нажать на кнопку перехода к
последней записи и затем на кнопку перехода к следующей записи . Сразу перейти к новой записи можно также с помощью кнопки . После выполнения указанных действий можно приступать к заполнению полей форм. Для этого необходимо установить курсор на поле, в которое
предполагается осуществлять ввод и щелкнуть 1 раз левой кнопкой мыши.
При правильном выполнении действий соответствующее поле формы
активизируется, т.е. в нем появляется мигающая вертикальная черта,
приглашающая пользователя к вводу данных. Далее пользователь может
вносить необходимую информацию в соответствующее поле.

Рисунок 2.20 - Результат заполнения таблицы « график »

Рисунок 2.21 - Результат заполнения таблицы « мастера »

Рисунок 2.22 - Результат заполнения таблицы « оказанные услуги »

Рисунок 2.23 - Результат заполнения таблицы « услуги »

Рисунок 2.24 - Форма «мастера»

Рисунок 2.25 - Форма «услуги»

Рисунок 2.26 - Отчет «ведомость оказанных услуг» в режиме просмотр

Рисунок 2.27 - Отчет «график работы» в режиме просмотр

Рисунок 2.28 -Отчет «прейскурант услуг» в режиме просмотр

ЗАКЛЮЧЕНИЕ

Курсовая работа ставила целью разработать автоматизированную систему документооборота для организации.

В результате выполнения дипломного проекта были решены следующие задачи:

- Проведен анализ предметной области;

- Построена функциональная модель «As IS» по результатам обследования предметной области;

- Выявлены недостатки и построена функциональная модель «To Be»;

- Построена информационная модель данных;

- Выполнено проектирование системы, которая позволяет более эффективно осуществлять ведение документооборота в рамках ведения проектов, а также подготовку и печать выходных документов;

- Разработана система документооборота с учетом выявленных требований и пожеланий;

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

В соответствии с заданием на курсовой проект была разработана база данных «Учет предоставленных услуг салоном красоты», которая позволяет автоматизировать обработку информации при оформлении счетов, ведении прейскурантов, изменении цен на услуги. Она обеспечивает поиск сведений о мастерах, выборку сведений для ведомости, расчет стоимости оказанных услуг за месяц, вывод необходимых документов на печать.

База данных работает в диалоговом режиме, который предоставляет пользователю возможность взаимодействовать с хранящейся в системе информацией в режиме реального времени, получая при этом всю необходимую информацию для решения функциональных задач.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила оформления.
  2. ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.
  3. ГОСТ 19.402-78 ЕСПД. Описание программы.
  4. ГОСТ 19.505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.
  5. ГОСТ 34.201-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем.
  6. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и сис¬тем. Условные обозначения и правила выполнения.
  7. Шигина Н.А. Разработка БД в среде ACCESS/ Метод.разработка. – Пенза: изд. ПТИ, 2001.
  8. Карпова Т.С. Базы данных: модели, разработка, реализация. – СПб.: Питер, 2001 – 304с.
  9. Базы данных: Учебник для вузов / Под ред. Проф. А.Д.Хомоненко. Изд. 2-е. – МПб.: КОРОНА принт, 2002. – 672с.
  10. Дж.Вейскас. Эффективная работа с Microsoft Access 2000. – С.-Птб. : Питер, 2000. – 1040с. ACCESS 7.0 для Windows 95. - Киев: BHV, 1996. – 480с.
  11. Джонс Дж. ACCESS 97. Книга ответов. – С.ПТБ: изд. ПИТЕР, 1998.
  12. Кэмпбелл М. ACCESS. Ответы. – М.: БИНОМ, 1996.
  13. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992.
  14. Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2007. - 368 с., ил
  15. Баженова И. Ю. , Основы проектирования приложений баз данных, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2008 г., , 328 стр.
  16. Вендров А.М., CASE-технологии. Современные методы и средства проектирования информационных систем - М.: Финансы и статистика, 2007 г, 456 стр.
  17. Гашков С. Б., Э. А. Применко, М. А. Черепнев Криптографические методы защиты информации, М, Издательство: Академия, 2010 г., 304 стр.
  18. Гвоздева Т. В., Б. А. Баллод, Проектирование информационных систем, М, Издательство: Феникс, 2009 г., 512 стр.
  19. Голицына О. Л., И. И. Попов, Н. В. Максимов, Т. Л. Партыка, Информационные технологии, М, Издательство Инфра-М, 2009 г., 608 стр.
  20. Дейв Крейн, Эрик Паскарелло, Даррен Джеймс. AJAX в действии: Учебник – М.: Вильямс, 2007. 450 – 490 с.
  21. Дэвид Флэнаган. JavaScript. Подробное руководство: Учебник – М.: Символ Плюс, 2008. 243 – 249 с.
  22. Емельянова Н. З., Партыка Т. Л., И. И. Попов, Проектирование информационных систем, М, Издательство: Форум, 2009 г., 432 стр.
  23. Емельянова Н. З., Т. Л. Партыка, И. И. Попов, М, Издательство Форум, 2007 г., , 416 стр.
  24. Илюшечкин В. М. , Основы использования и проектирования баз данных, М, Издательство Юрайт, 2010 г., 224 стр.
  25. Котляров В. П., Т. В. Коликова, Основы тестирования программного обеспечения, Издательства: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2009 г., 288 стр.
  26. Кристиан Дари, Богдан Бринзаре, Филип Черчез-Тоза, Михай Бусика. AJAX и PHP. Разработка динамических веб-приложений: Учебник – М.: Символ Плюс, 2007, 289 стр.
  27. Кузин А. В., С. В. Левонисова, Базы данных, М, Издательство: Академия, 2008 г., 320 стр.
  28. Кузнецов С. Д., Основы баз данных, М, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2007 г., 488 стр.
  29. Молчанов А. Ю., Системное программное обеспечение, М, Издательство: Питер, 2010 г., 400 стр.
  30. Незнанов А. А., Программирование и алгоритмизация, М, Издательство: Академия, 2010 г., 304 стр.
  31. Пирогов В. Ю., Информационные системы и базы данных. М, Организация и проектирование, Издательство: БХВ-Петербург, 2009 г.528 стр.
  32. Предметно-ориентированные экономические информационные системы, М, Издательство: Финансы и статистика, 2007 г., 224 стр.
  33. Реляционные базы данных: практические приемы оптимальных решений. – СПб.: БХВ-Петербург, 2009 – 400с.:ил;
  34. Симионов Ю.Ф., Боромотов В.В. Информационный менеджмент. — Ростов н.Д: Феникс, 2008, 250с., ил.;
  35. Чипига А. Ф., Информационная безопасность автоматизированных систем, М, Издательство: Гелиос АРВ, 2010 г., 336 стр.

ПРИЛОЖЕНИЕ А - ЛИСТИНГ ПРОГРАММНЫХ МОДУЛЕЙ

unit MainClients;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate,

addsorce, DateUtils, parampoisk, ToolWin, ComCtrls, StdCtrls, jpeg, ExtCtrls,

RzButton, Buttons, RzSpnEdt, RzPanel;

type

TMainClientsForm = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

MainMenu1: TMainMenu;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

DataSource1: TDataSource;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

ADOTable5: TADOTable;

ADOTable6: TADOTable;

ADOTable7: TADOTable;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

N18: TMenuItem;

ADOTable8: TADOTable;

N24: TMenuItem;

Image1: TImage;

ToolBar1: TToolBar;

RzRapidFireButton1: TRzRapidFireButton;

RzRapidFireButton2: TRzRapidFireButton;

RzRapidFireButton3: TRzRapidFireButton;

RzRapidFireButton4: TRzRapidFireButton;

RzRapidFireButton5: TRzRapidFireButton;

DataSource2: TDataSource;

h: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N19: TMenuItem;

N25: TMenuItem;

procedure N26Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure N25Click(Sender: TObject);

procedure hClick(Sender: TObject);

procedure N24Click(Sender: TObject);

procedure N23Click(Sender: TObject);

procedure RzRapidFireButton5Click(Sender: TObject);

procedure RzRapidFireButton4Click(Sender: TObject);

procedure RzRapidFireButton3Click(Sender: TObject);

procedure RzRapidFireButton2Click(Sender: TObject);

procedure RzRapidFireButton1Click(Sender: TObject);

procedure N12Click(Sender: TObject);

function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

function IsFormOpen(const FormName : string): Boolean;

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure DataSource1DataChange(Sender: TObject; Field: TField);

procedure N4Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N19Click(Sender: TObject);

private

{ Private declarations }

procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

public

{ Public declarations }

end;

var

MainClientsForm: TMainClientsForm;

nastr:tinifile;

DirectoryForm : TDBDirectoryTemplateForm;

prosmForm: Taddform;

mainflag:boolean;

nomer_poisk:word;

flag1,flag2:boolean;

s:string;

var dom_tel,mob_tel:string;

adres,notes:string;

stag:real;

rogd:tdate;

var education,vuz, fakultet,specialnost,kurs:string;

data_vuz, data_kurs:tdate;

lingvo,lingvo_k, comp, comp_k :string;

idlingvo, idcomp, id_education,id_client,id_regim, id_areal, id_organization:integer;

var oblast,profesiya:string;

implementation

{$R *.dfm}

function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Pred(AFormName.MDIChildCount) DownTo 0 do

if (AFormName.MDIChildren[i].Name = AMDIChildName) then

begin

Result := True;

AFormName.MDIChildren[i].Free;

end;

end;

function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Screen.FormCount - 1 DownTo 0 do

if (Screen.Forms[i].Name = FormName) then

begin

Result := True;

Break;

end;

end;

procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

begin

//создаем форму

DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);

DirectoryForm.TableDBGrid.DataSource:=ds;

DirectoryForm.Top:=0;

DirectoryForm.Left:=0;

DirectoryForm.Caption:=sCaption;

end;

procedure TMainClientsForm.N12Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Неотработанные документы';

nomer_poisk:=3;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N6Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;

mainclientsform.ADOTable1.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem(, mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N7Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;

mainclientsform.ADOTable2.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Обязательства', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N8Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;

mainclientsform.ADOTable3.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Клиенты', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N9Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;

mainclientsform.ADOTable4.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Адреса', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.RzRapidFireButton1Click(Sender: TObject);

begin

MainClientsForm.N3Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton2Click(Sender: TObject);

begin

MainClientsForm.N4Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton3Click(Sender: TObject);

begin

MainClientsForm.N15Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton4Click(Sender: TObject);

begin

MainClientsForm.N14Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton5Click(Sender: TObject);

begin

MainClientsForm.Close;

end;

procedure TMainClientsForm.N10Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;

mainclientsform.ADOTable5.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Документы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N20Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;

mainclientsform.ADOTable6.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N21Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;

mainclientsform.ADOTable7.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Запросы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N23Click(Sender: TObject);

begin

mainclientsform.N3Click(Sender);

mainflag:=true;

flag1:=true;

flag2:=false;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.Height:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N24Click(Sender: TObject);

begin

mainclientsform.N6Click(Sender);

mainflag:=true;

flag1:=false;

flag2:=true;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=true;

ProsmForm.Height:=500;

ProsmForm.Width:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N25Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=7;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.N26Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Отчеты;

nomer_poisk:=8;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.FormCreate(Sender: TObject);

var NewConnection: Widestring;

begin

ADOConnection1.Close;

ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+GetCurrentDir+'\baza.mdb;';

ADOConnection1.Open;

MainClientsForm.ADOTable1.Active:=true;

MainClientsForm.ADOTable2.Active:=true;

MainClientsForm.ADOTable3.Active:=true;

MainClientsForm.ADOTable4.Active:=true;

MainClientsForm.ADOTable5.Active:=true;

MainClientsForm.ADOTable6.Active:=true;

MainClientsForm.ADOTable7.Active:=true;

MainClientsForm.ADOTable8.Active:=true;

end;

procedure TMainClientsForm.hClick(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'Резолюция ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=true;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:=' / запрос';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N3Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=true;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.DataSource1DataChange(Sender: TObject;

Field: TField);

var

kodistorii,kodclient,kodfact,kodkred:integer;

datanach:tdatetime;

status:string;

begin

if mainflag then

begin

kodistorii:=mainclientsform.DataSource1.DataSet.FieldByName('Код истории').AsInteger;

ProsmForm.Edit70.Text:=inttostr(kodistorii);

kodclient:=mainclientsform.DataSource1.DataSet.FieldByName('Код клиента').AsInteger;

ProsmForm.Edit71.Text:=inttostr(kodclient);

datanach:=mainclientsform.DataSource1.DataSet.FieldByName('дата начала').AsDateTime;

ProsmForm.Edit83.Text:=Datetostr(datanach);

kodfact:=mainclientsform.DataSource1.DataSet.FieldByName('Код факта').AsInteger;

status:=mainclientsform.DataSource1.DataSet.FieldByName('статус').AsString;

mainclientsform.ADOTable3.Active:=true;

if mainclientsform.ADOTable3.Locate('Код клиента',kodclient , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit72.Text:=mainclientsform.ADOTable3.FieldByName('Фамилия').AsString;

ProsmForm.Edit73.Text:=mainclientsform.ADOTable3.FieldByName('Имя').AsString;

ProsmForm.Edit76.Text:=mainclientsform.ADOTable3.FieldByName('Отчество').AsString;

ProsmForm.Edit74.Text:=mainclientsform.ADOTable3.FieldByName('ИНН').AsString;

ProsmForm.Edit75.Text:=mainclientsform.ADOTable3.FieldByName('доход').AsString;

ProsmForm.Edit77.Text:=mainclientsform.ADOTable3.FieldByName('телефон1').AsString;

end;

if mainclientsform.ADOTable8.Locate('Код факта',kodfact , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit81.Text:=DateToStr(mainclientsform.ADOTable8.FieldByName('').AsDateTime);

ProsmForm.Edit84.Text:=mainclientsform.ADOTable8.FieldByName('нарушение').AsString;

ProsmForm.Edit85.Text:=inttostr(mainclientsform.ADOTable8.FieldByName('%своеврем').AsInteger);

ProsmForm.Edit86.Text:=mainclientsform.ADOTable8.FieldByName('штрафные санкции').AsString;

ProsmForm.Edit82.Text:=mainclientsform.ADOTable8.FieldByName('закрытие').AsString;

end;

mainclientsform.ADOTable7.Active:=true;

if mainclientsform.ADOTable7.Locate('',kodistorii , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit87.Text:=DateToStr(mainclientsform.ADOTable7.FieldByName('дата').AsDateTime);

kodkred:=mainclientsform.ADOTable7.FieldByName('').AsInteger;

end;

mainclientsform.ADOTable6.Active:=true;

if mainclientsform.ADOTable6.Locate(',kodkred , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit88.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit69.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit66.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit79.Text:=mainclientsform.ADOTable6.FieldByName('цель').AsString;

ProsmForm.Edit64.Text:=DateToStr(mainclientsform.ADOTable6.FieldByName('').AsDateTime);

end;

mainclientsform.DataSource2.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear();

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftinteger;

P1.Value:=kodistorii;

stroka_SQL:='SELECT обязательства.* FROM обязательства WHERE (.[]=:P1) ;' ;

MainClientsForm.ADOQuery1.SQL.Add(stroka_SQL);

MainClientsForm.ADOQuery1.Active:=true;

MainClientsForm.ADOQuery1.ExecSQL;

end;

end;

procedure TMainClientsForm.N4Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=true;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N14Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=1;

Poisk.GroupBox1.Visible:=true;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N15Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=2;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

end;

procedure TMainClientsForm.N16Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Поиск клиента';

nomer_poisk:=4;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=true;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N17Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=5;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

procedure TMainClientsForm.N18Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable8;

mainclientsform.ADOTable8.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Фактическое выполнение', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N11Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,' ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N19Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='""';

nomer_poisk:=6;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

end.

unit addsorce;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls, DBCtrls ;

type

TaddForm = class(TForm)

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Button1: TButton;

Edit7: TEdit;

GroupBox3: TGroupBox;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Edit14: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Button3: TButton;

GroupBox5: TGroupBox;

Label29: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label37: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label17: TLabel;

Edit29: TEdit;

Edit31: TEdit;

Edit32: TEdit;

Edit33: TEdit;

Edit34: TEdit;

Edit35: TEdit;

Edit37: TEdit;

Button5: TButton;

Edit19: TEdit;

Edit20: TEdit;

Edit21: TEdit;

Edit22: TEdit;

Edit23: TEdit;

Edit17: TEdit;

Label85: TLabel;

Edit89: TEdit;

Label86: TLabel;

Edit90: TEdit;

Label87: TLabel;

Label88: TLabel;

Edit91: TEdit;

Label89: TLabel;

Edit92: TEdit;

Label90: TLabel;

Edit93: TEdit;

Label91: TLabel;

Edit94: TEdit;

Label92: TLabel;

Label93: TLabel;

Edit95: TEdit;

Label94: TLabel;

Edit96: TEdit;

Label95: TLabel;

Edit97: TEdit;

Label96: TLabel;

Edit98: TEdit;

Label18: TLabel;

Label27: TLabel;

Edit18: TEdit;

Label30: TLabel;

Edit27: TEdit;

Label36: TLabel;

Edit30: TEdit;

Label38: TLabel;

Edit36: TEdit;

Label97: TLabel;

Edit38: TEdit;

Label99: TLabel;

Edit99: TEdit;

GroupBox7: TGroupBox;

Label62: TLabel;

Label63: TLabel;

Label64: TLabel;

Label65: TLabel;

Label66: TLabel;

Label67: TLabel;

Label70: TLabel;

Label71: TLabel;

Label73: TLabel;

Label74: TLabel;

Label75: TLabel;

Label77: TLabel;

Label79: TLabel;

Label80: TLabel;

Label81: TLabel;

Label82: TLabel;

Label83: TLabel;

Label84: TLabel;

Label78: TLabel;

Edit64: TEdit;

Edit66: TEdit;

Edit69: TEdit;

Edit70: TEdit;

DBNavigator2: TDBNavigator;

Edit71: TEdit;

Edit72: TEdit;

Edit73: TEdit;

Edit74: TEdit;

Edit75: TEdit;

Edit76: TEdit;

Edit77: TEdit;

Edit79: TEdit;

Edit81: TEdit;

Edit82: TEdit;

Edit83: TEdit;

Edit84: TEdit;

Edit85: TEdit;

Edit86: TEdit;

Edit87: TEdit;

Edit88: TEdit;

DBGrid1: TDBGrid;

procedure Button5Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

addForm: TaddForm;

naim:string;

ed_izm:string;

kolvo:integer;

cena:real;

nomerpartiya:string;

sernum:string;

srok_godnost:tdate;

data_postavka:tdate;

postavchik:string;

description:string;

location:string;

location_part:string;

primech:string;

Ayear, amonth,aday:word;

razmer_part,kol:integer;

id_part,idaddional,idlocation,idzapas:integer;

idtov,id_proffesiya:integer;

implementation

uses MainClients;

{$R *.dfm}

procedure TaddForm.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure TaddForm.Button1Click(Sender: TObject);

var

Fam, Name1, Sec_Name, Dep, Dolg, Tel1, tel2, INN :string;

kodadr,koddok,dohod:integer;

oblast,gorod, street, dom, kvartira:string;

naimenovan, nomer, kem:string;

datadok,datarogd:tdate;

begin

oblast:=Edit90.Text;

gorod:= Edit91.Text;

street:=Edit92.Text;

dom:=Edit93.Text;

kvartira:=Edit94.Text;

mainclientsform.ADOTable4.Active:=true;

mainclientsform.ADOTable4.Insert();

mainclientsform.ADOTable4.FieldByName('').AsString:= oblast;

mainclientsform.ADOTable4.FieldByName('').AsString:= gorod;

mainclientsform.ADOTable4.FieldByName('').AsString:= street;

mainclientsform.ADOTable4.FieldByName('дом').AsString:= dom;

mainclientsform.ADOTable4.FieldByName('').AsString:= kvartira;

mainclientsform.ADOTable4.Post();

kodadr:=mainclientsform.ADOTable4.FieldByName('').AsInteger;

naimenovan:=Edit95.Text;

nomer:=Edit96.Text;

kem:=Edit98.Text;;

datadok:=strtodate(Edit97.Text);

mainclientsform.ADOTable5.Active:=true;

mainclientsform.ADOTable5.Insert();

mainclientsform.ADOTable5.FieldByName('').AsString:= naimenovan;

mainclientsform.ADOTable5.FieldByName('').AsString:= nomer;

mainclientsform.ADOTable5.FieldByName('').AsDateTime:=datadok;

mainclientsform.ADOTable5.FieldByName('').AsString:= kem;

mainclientsform.ADOTable5.Post();

koddok:=mainclientsform.ADOTable5.FieldByName('Код документа').AsInteger;

Fam:= Edit1.Text;

Name1:= Edit2.Text;

Sec_Name:= Edit3.Text;

datarogd:=strtodate(Edit4.Text);

Tel1:= Edit7.Text;

Tel2:= Edit89.Text;

INN:= Edit5.Text;

dohod:= strtoint(Edit6.Text);

// добавление данных клиент

mainclientsform.ADOTable3.Active:=true;

mainclientsform.ADOTable3.Insert();

mainclientsform.ADOTable3.FieldByName('').AsString:= Fam;

mainclientsform.ADOTable3.FieldByName('').AsString:= Name1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Sec_Name;

mainclientsform.ADOTable3.FieldByName('').AsDateTime:=datarogd;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel2;

mainclientsform.ADOTable3.FieldByName('').AsString:= INN;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= dohod;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= kodadr;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= koddok;

mainclientsform.ADOTable3.Post();

end;

procedure TaddForm.Button3Click(Sender: TObject);

var summa, egplat,srok,procent, kodkred,kodistorii:integer;

target:string;

datapogash:tdatetime;

begin

target:= Edit15.Text;

datapogash:=StrToDate(Edit36.Text);

summa:=strtoint(Edit16.Text);

egplat:=strtoint(Edit14.Text);

srok:=strtoint(Edit30.Text);

procent:=strtoint(Edit38.Text);

kodistorii:= strtoint(Edit99.Text);

mainclientsform.ADOTable6.Active:=true;

mainclientsform.ADOTable6.Insert();

mainclientsform.ADOTable6.FieldByName('').AsString:= target;

mainclientsform.ADOTable6.FieldByName('').AsDateTime:=datapogash;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=egplat;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=srok;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=procent;

mainclientsform.ADOTable6.Post();

kodkred:= mainclientsform.ADOTable6.FieldByName('').AsInteger;

mainclientsform.ADOTable7.Active:=true;

mainclientsform.ADOTable7.Insert();

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodkred;

mainclientsform.ADOTable7.FieldByName('').AsDateTime:=now;

mainclientsform.ADOTable7.FieldByName('').AsString:='';

mainclientsform.ADOTable7.Post();

end;

procedure TaddForm.Button5Click(Sender: TObject);

var srokvoz, datenach:tdatetime;

narush,sankcii,zakrut,status:string;

procentsv, kodclient, kodfakt, kodistorii, summa:integer;

bank,vidob,nomdog,notes:string;

datadog,srokup:tdatetime;

begin

srokvoz:=StrToDate(Edit21.Text);

narush:=Edit37.Text;

procentsv:=strtoint(Edit32.Text);

sankcii:=Edit29.Text;

zakrut:=Edit31.Text;

mainclientsform.ADOTable8.Active:=true;

mainclientsform.ADOTable8.Insert();

mainclientsform.ADOTable8.FieldByName('').AsDateTime:= srokvoz;

mainclientsform.ADOTable8.FieldByName('').AsString:= narush;

mainclientsform.ADOTable8.FieldByName('%').AsInteger:=procentsv;

mainclientsform.ADOTable8.FieldByName('').AsString:= sankcii;

mainclientsform.ADOTable8.FieldByName('').AsString:= zakrut;

mainclientsform.ADOTable8.Post();

kodfakt:= mainclientsform.ADOTable8.FieldByName('Код факта').AsInteger;

status:=Edit34.Text;

datenach:=StrToDate(Edit35.Text);

kodclient:=strtoint(Edit33.Text);

mainclientsform.ADOTable1.Active:=true;

mainclientsform.ADOTable1.Insert();

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodclient;

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodfakt;

mainclientsform.ADOTable1.FieldByName('').AsDateTime:=datenach;

mainclientsform.ADOTable1.FieldByName('').AsString:= status;

mainclientsform.ADOTable1.Post();

kodistorii:= mainclientsform.ADOTable1.FieldByName('').AsInteger;

bank:=Edit19.Text;

vidob:=Edit20.Text;

nomdog:=Edit23.Text;

notes:=Edit27.Text;

summa:=STRToint(Edit17.Text);

datadog:= StrToDate(Edit22.Text);

srokup:=StrToDate(Edit18.Text);

mainclientsform.ADOTable2.Active:=true;

mainclientsform.ADOTable2.Insert();

mainclientsform.ADOTable2.FieldByName('').AsString:=bank;

mainclientsform.ADOTable2.FieldByName('').AsString:= vidob;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=datadog;

mainclientsform.ADOTable2.FieldByName('').AsString:=nomdog;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=srokup;

mainclientsform.ADOTable2.FieldByName('').AsString:=notes;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable2.Post();

end;

end.

unit parampoisk;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,addsorce,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls ;

type

Tparampoik = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

Label1: TLabel;

Edit3: TEdit;

GroupBox2: TGroupBox;

Label2: TLabel;

Edit1: TEdit;

GroupBox3: TGroupBox;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit4: TEdit;

Label5: TLabel;

Edit5: TEdit;

procedure RzBitBtn4Click(Sender: TObject);

procedure RzBitBtn3Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

parampoik: Tparampoik;

ChildTemplateForm1: TChildTemplateForm;

ff:string;

flagpoisk:boolean;

p1,p2:tparameter;

all:boolean;

ahour, aminute, asecond, amillisecond :word;

priznak:string;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

idnakl,idzapas,i,sravn,kolnakl,kolzapas, rezerv_kol:integer;

implementation

uses mainclients;

{$R *.dfm}

procedure Tparampoik.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure Tparampoik.RzBitBtn3Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

all:boolean;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

fl_book, fl_avtor, fl_izdat, fl_location, fl_vid, fl_category:boolean;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear;

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

end;

procedure Tparampoik.RzBitBtn4Click(Sender: TObject);

begin

flagpoisk:=false;

MainClientsForm.IsMDIChildOpen(MainClientsForm,'parampoik');

end;

procedure Tparampoik.Button1Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

timenach,timekon:tdatetime;

data:tdatetime;

summa,srok:integer;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2;

mainclientsform.ADOQuery2.Active:=false;

mainclientsform.ADOQuery2.SQL.Clear;

if nomer_poisk=1 then begin

childTemplateForm.Button1.Visible:=false;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

S:=Edit3.Text;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.[],.[], , .* FROM INNER JOIN История ON.[] =.[] WHERE (((])=:P1));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=4 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit1.Text;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.* FROM Клиент WHERE ((() = :P1))' ;

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=5 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT.[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()=" "));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=6 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT .[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()<>""));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=7 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit2.Text;

summa:=STRTOINT(Edit4.Text);

srok:=STRTOINT(Edit5.Text);

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P2.Name:='P2';

P2.DataType:=ftinteger;

P2.Value:=round(0.5*summa/srok);

stroka_SQL:='SELECT, , , , , , .[], .[], ';

stroka_SQL:=stroka_SQL+'FROM INNER JOIN ( INNER JOIN ON.[] =.[]) ON Фактвыполнения.[Код факта] =.[]';

stroka_SQL:=stroka_SQL+'WHERE ( (>:P2) and () AND((Фактвыполнения.нарушение)="нет") AND (( [) AND (() AND (());';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

childTemplateForm.Label1.Caption:=!!!!'

end

else

childTemplateForm.Label1.Caption:=

end;

end;

end;

end.

unit ChildTemplate;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Buttons, Grids, DBGrids, ExtCtrls, Menus, StdCtrls, OleServer, ExcelXP, OleCtnrs, ComObj;

type

TChildTemplateForm = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure RzToolbarButton2Click(Sender: TObject);

procedure RzToolbarButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

implementation

{$R *.dfm}

uses mainclients;

procedure TChildTemplateForm.Button1Click(Sender: TObject);

var put,asFileName:string;

var

XlApplication: OleVariant;

XLWorkSheet: OleVariant;

var

vVarApp,vVarBooks,vVarBook,

vVarSheets,vVarSheet,vVarCell,ws: Variant;

i,j:integer;

a:string;

begin

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

try

XlApplication := GetActiveOleObject('Excel.Application');

except

XlApplication := CreateOleObject('Excel.Application');

end;

XlApplication.Workbooks.Open[ExtractFilePath(Application.ExeName)+'zayavka.xlt', 0, true]; XlApplication.Visible := true;

XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;

if nomer_poisk<>8 then

XLWorkSheet.cells[3,3]:=''

else

XLWorkSheet.cells[3,3]:='';

mainclientsform.ADOQuery2.First;

for i:=1 to mainclientsform.ADOQuery2.RecordCount do

begin

j:= 0;

A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;

XLWorkSheet.cells[i+5,2]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;

XLWorkSheet.cells[i+5,3]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;

XLWorkSheet.cells[i+5,4]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;

XLWorkSheet.cells[i+5,5]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;

XLWorkSheet.cells[i+5,6]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;

XLWorkSheet.cells[i+5,7]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;

XLWorkSheet.cells[i+5,8]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;

XLWorkSheet.cells[i+5,9]:=A ;

mainclientsform.ADOQuery2.Next;

end ;

end;

end;

procedure TChildTemplateForm.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

unit MainClients;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate,

addsorce, DateUtils, parampoisk, ToolWin, ComCtrls, StdCtrls, jpeg, ExtCtrls,

RzButton, Buttons, RzSpnEdt, RzPanel;

type

TMainClientsForm = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

MainMenu1: TMainMenu;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

DataSource1: TDataSource;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

ADOTable5: TADOTable;

ADOTable6: TADOTable;

ADOTable7: TADOTable;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

N18: TMenuItem;

ADOTable8: TADOTable;

N24: TMenuItem;

Image1: TImage;

ToolBar1: TToolBar;

RzRapidFireButton1: TRzRapidFireButton;

RzRapidFireButton2: TRzRapidFireButton;

RzRapidFireButton3: TRzRapidFireButton;

RzRapidFireButton4: TRzRapidFireButton;

RzRapidFireButton5: TRzRapidFireButton;

DataSource2: TDataSource;

h: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N19: TMenuItem;

N25: TMenuItem;

procedure N26Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure N25Click(Sender: TObject);

procedure hClick(Sender: TObject);

procedure N24Click(Sender: TObject);

procedure N23Click(Sender: TObject);

procedure RzRapidFireButton5Click(Sender: TObject);

procedure RzRapidFireButton4Click(Sender: TObject);

procedure RzRapidFireButton3Click(Sender: TObject);

procedure RzRapidFireButton2Click(Sender: TObject);

procedure RzRapidFireButton1Click(Sender: TObject);

procedure N12Click(Sender: TObject);

function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

function IsFormOpen(const FormName : string): Boolean;

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure DataSource1DataChange(Sender: TObject; Field: TField);

procedure N4Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N19Click(Sender: TObject);

private

{ Private declarations }

procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

public

{ Public declarations }

end;

var

MainClientsForm: TMainClientsForm;

nastr:tinifile;

DirectoryForm : TDBDirectoryTemplateForm;

prosmForm: Taddform;

mainflag:boolean;

nomer_poisk:word;

flag1,flag2:boolean;

s:string;

var dom_tel,mob_tel:string;

adres,notes:string;

stag:real;

rogd:tdate;

var education,vuz, fakultet,specialnost,kurs:string;

data_vuz, data_kurs:tdate;

lingvo,lingvo_k, comp, comp_k :string;

idlingvo, idcomp, id_education,id_client,id_regim, id_areal, id_organization:integer;

var oblast,profesiya:string;

implementation

{$R *.dfm}

function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Pred(AFormName.MDIChildCount) DownTo 0 do

if (AFormName.MDIChildren[i].Name = AMDIChildName) then

begin

Result := True;

AFormName.MDIChildren[i].Free;

end;

end;

function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Screen.FormCount - 1 DownTo 0 do

if (Screen.Forms[i].Name = FormName) then

begin

Result := True;

Break;

end;

end;

procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

begin

//создаем форму

DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);

DirectoryForm.TableDBGrid.DataSource:=ds;

DirectoryForm.Top:=0;

DirectoryForm.Left:=0;

DirectoryForm.Caption:=sCaption;

end;

procedure TMainClientsForm.N12Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Неотработанные документы';

nomer_poisk:=3;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N6Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;

mainclientsform.ADOTable1.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem(, mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N7Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;

mainclientsform.ADOTable2.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Обязательства', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N8Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;

mainclientsform.ADOTable3.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Клиенты', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N9Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;

mainclientsform.ADOTable4.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Адреса', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.RzRapidFireButton1Click(Sender: TObject);

begin

MainClientsForm.N3Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton2Click(Sender: TObject);

begin

MainClientsForm.N4Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton3Click(Sender: TObject);

begin

MainClientsForm.N15Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton4Click(Sender: TObject);

begin

MainClientsForm.N14Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton5Click(Sender: TObject);

begin

MainClientsForm.Close;

end;

procedure TMainClientsForm.N10Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;

mainclientsform.ADOTable5.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Документы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N20Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;

mainclientsform.ADOTable6.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N21Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;

mainclientsform.ADOTable7.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Запросы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N23Click(Sender: TObject);

begin

mainclientsform.N3Click(Sender);

mainflag:=true;

flag1:=true;

flag2:=false;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.Height:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N24Click(Sender: TObject);

begin

mainclientsform.N6Click(Sender);

mainflag:=true;

flag1:=false;

flag2:=true;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=true;

ProsmForm.Height:=500;

ProsmForm.Width:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N25Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=7;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.N26Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Отчеты;

nomer_poisk:=8;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.FormCreate(Sender: TObject);

var NewConnection: Widestring;

begin

ADOConnection1.Close;

ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+GetCurrentDir+'\baza.mdb;';

ADOConnection1.Open;

MainClientsForm.ADOTable1.Active:=true;

MainClientsForm.ADOTable2.Active:=true;

MainClientsForm.ADOTable3.Active:=true;

MainClientsForm.ADOTable4.Active:=true;

MainClientsForm.ADOTable5.Active:=true;

MainClientsForm.ADOTable6.Active:=true;

MainClientsForm.ADOTable7.Active:=true;

MainClientsForm.ADOTable8.Active:=true;

end;

procedure TMainClientsForm.hClick(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'Резолюция ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=true;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:=' / запрос';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N3Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=true;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.DataSource1DataChange(Sender: TObject;

Field: TField);

var

kodistorii,kodclient,kodfact,kodkred:integer;

datanach:tdatetime;

status:string;

begin

if mainflag then

begin

kodistorii:=mainclientsform.DataSource1.DataSet.FieldByName('Код истории').AsInteger;

ProsmForm.Edit70.Text:=inttostr(kodistorii);

kodclient:=mainclientsform.DataSource1.DataSet.FieldByName('Код клиента').AsInteger;

ProsmForm.Edit71.Text:=inttostr(kodclient);

datanach:=mainclientsform.DataSource1.DataSet.FieldByName('дата начала').AsDateTime;

ProsmForm.Edit83.Text:=Datetostr(datanach);

kodfact:=mainclientsform.DataSource1.DataSet.FieldByName('Код факта').AsInteger;

status:=mainclientsform.DataSource1.DataSet.FieldByName('статус').AsString;

mainclientsform.ADOTable3.Active:=true;

if mainclientsform.ADOTable3.Locate('Код клиента',kodclient , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit72.Text:=mainclientsform.ADOTable3.FieldByName('Фамилия').AsString;

ProsmForm.Edit73.Text:=mainclientsform.ADOTable3.FieldByName('Имя').AsString;

ProsmForm.Edit76.Text:=mainclientsform.ADOTable3.FieldByName('Отчество').AsString;

ProsmForm.Edit74.Text:=mainclientsform.ADOTable3.FieldByName('ИНН').AsString;

ProsmForm.Edit75.Text:=mainclientsform.ADOTable3.FieldByName('доход').AsString;

ProsmForm.Edit77.Text:=mainclientsform.ADOTable3.FieldByName('телефон1').AsString;

end;

if mainclientsform.ADOTable8.Locate('Код факта',kodfact , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit81.Text:=DateToStr(mainclientsform.ADOTable8.FieldByName('').AsDateTime);

ProsmForm.Edit84.Text:=mainclientsform.ADOTable8.FieldByName('нарушение').AsString;

ProsmForm.Edit85.Text:=inttostr(mainclientsform.ADOTable8.FieldByName('%своеврем').AsInteger);

ProsmForm.Edit86.Text:=mainclientsform.ADOTable8.FieldByName('штрафные санкции').AsString;

ProsmForm.Edit82.Text:=mainclientsform.ADOTable8.FieldByName('закрытие').AsString;

end;

mainclientsform.ADOTable7.Active:=true;

if mainclientsform.ADOTable7.Locate('',kodistorii , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit87.Text:=DateToStr(mainclientsform.ADOTable7.FieldByName('дата').AsDateTime);

kodkred:=mainclientsform.ADOTable7.FieldByName('').AsInteger;

end;

mainclientsform.ADOTable6.Active:=true;

if mainclientsform.ADOTable6.Locate(',kodkred , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit88.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit69.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit66.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit79.Text:=mainclientsform.ADOTable6.FieldByName('цель').AsString;

ProsmForm.Edit64.Text:=DateToStr(mainclientsform.ADOTable6.FieldByName('').AsDateTime);

end;

mainclientsform.DataSource2.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear();

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftinteger;

P1.Value:=kodistorii;

stroka_SQL:='SELECT обязательства.* FROM обязательства WHERE (.[]=:P1) ;' ;

MainClientsForm.ADOQuery1.SQL.Add(stroka_SQL);

MainClientsForm.ADOQuery1.Active:=true;

MainClientsForm.ADOQuery1.ExecSQL;

end;

end;

procedure TMainClientsForm.N4Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=true;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N14Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=1;

Poisk.GroupBox1.Visible:=true;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N15Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=2;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

end;

procedure TMainClientsForm.N16Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Поиск клиента';

nomer_poisk:=4;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=true;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N17Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=5;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

procedure TMainClientsForm.N18Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable8;

mainclientsform.ADOTable8.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Фактическое выполнение', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N11Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,' ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N19Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='""';

nomer_poisk:=6;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

end.

unit addsorce;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls, DBCtrls ;

type

TaddForm = class(TForm)

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Button1: TButton;

Edit7: TEdit;

GroupBox3: TGroupBox;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Edit14: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Button3: TButton;

GroupBox5: TGroupBox;

Label29: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label37: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label17: TLabel;

Edit29: TEdit;

Edit31: TEdit;

Edit32: TEdit;

Edit33: TEdit;

Edit34: TEdit;

Edit35: TEdit;

Edit37: TEdit;

Button5: TButton;

Edit19: TEdit;

Edit20: TEdit;

Edit21: TEdit;

Edit22: TEdit;

Edit23: TEdit;

Edit17: TEdit;

Label85: TLabel;

Edit89: TEdit;

Label86: TLabel;

Edit90: TEdit;

Label87: TLabel;

Label88: TLabel;

Edit91: TEdit;

Label89: TLabel;

Edit92: TEdit;

Label90: TLabel;

Edit93: TEdit;

Label91: TLabel;

Edit94: TEdit;

Label92: TLabel;

Label93: TLabel;

Edit95: TEdit;

Label94: TLabel;

Edit96: TEdit;

Label95: TLabel;

Edit97: TEdit;

Label96: TLabel;

Edit98: TEdit;

Label18: TLabel;

Label27: TLabel;

Edit18: TEdit;

Label30: TLabel;

Edit27: TEdit;

Label36: TLabel;

Edit30: TEdit;

Label38: TLabel;

Edit36: TEdit;

Label97: TLabel;

Edit38: TEdit;

Label99: TLabel;

Edit99: TEdit;

GroupBox7: TGroupBox;

Label62: TLabel;

Label63: TLabel;

Label64: TLabel;

Label65: TLabel;

Label66: TLabel;

Label67: TLabel;

Label70: TLabel;

Label71: TLabel;

Label73: TLabel;

Label74: TLabel;

Label75: TLabel;

Label77: TLabel;

Label79: TLabel;

Label80: TLabel;

Label81: TLabel;

Label82: TLabel;

Label83: TLabel;

Label84: TLabel;

Label78: TLabel;

Edit64: TEdit;

Edit66: TEdit;

Edit69: TEdit;

Edit70: TEdit;

DBNavigator2: TDBNavigator;

Edit71: TEdit;

Edit72: TEdit;

Edit73: TEdit;

Edit74: TEdit;

Edit75: TEdit;

Edit76: TEdit;

Edit77: TEdit;

Edit79: TEdit;

Edit81: TEdit;

Edit82: TEdit;

Edit83: TEdit;

Edit84: TEdit;

Edit85: TEdit;

Edit86: TEdit;

Edit87: TEdit;

Edit88: TEdit;

DBGrid1: TDBGrid;

procedure Button5Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

addForm: TaddForm;

naim:string;

ed_izm:string;

kolvo:integer;

cena:real;

nomerpartiya:string;

sernum:string;

srok_godnost:tdate;

data_postavka:tdate;

postavchik:string;

description:string;

location:string;

location_part:string;

primech:string;

Ayear, amonth,aday:word;

razmer_part,kol:integer;

id_part,idaddional,idlocation,idzapas:integer;

idtov,id_proffesiya:integer;

implementation

uses MainClients;

{$R *.dfm}

procedure TaddForm.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure TaddForm.Button1Click(Sender: TObject);

var

Fam, Name1, Sec_Name, Dep, Dolg, Tel1, tel2, INN :string;

kodadr,koddok,dohod:integer;

oblast,gorod, street, dom, kvartira:string;

naimenovan, nomer, kem:string;

datadok,datarogd:tdate;

begin

oblast:=Edit90.Text;

gorod:= Edit91.Text;

street:=Edit92.Text;

dom:=Edit93.Text;

kvartira:=Edit94.Text;

mainclientsform.ADOTable4.Active:=true;

mainclientsform.ADOTable4.Insert();

mainclientsform.ADOTable4.FieldByName('').AsString:= oblast;

mainclientsform.ADOTable4.FieldByName('').AsString:= gorod;

mainclientsform.ADOTable4.FieldByName('').AsString:= street;

mainclientsform.ADOTable4.FieldByName('дом').AsString:= dom;

mainclientsform.ADOTable4.FieldByName('').AsString:= kvartira;

mainclientsform.ADOTable4.Post();

kodadr:=mainclientsform.ADOTable4.FieldByName('').AsInteger;

naimenovan:=Edit95.Text;

nomer:=Edit96.Text;

kem:=Edit98.Text;;

datadok:=strtodate(Edit97.Text);

mainclientsform.ADOTable5.Active:=true;

mainclientsform.ADOTable5.Insert();

mainclientsform.ADOTable5.FieldByName('').AsString:= naimenovan;

mainclientsform.ADOTable5.FieldByName('').AsString:= nomer;

mainclientsform.ADOTable5.FieldByName('').AsDateTime:=datadok;

mainclientsform.ADOTable5.FieldByName('').AsString:= kem;

mainclientsform.ADOTable5.Post();

koddok:=mainclientsform.ADOTable5.FieldByName('Код документа').AsInteger;

Fam:= Edit1.Text;

Name1:= Edit2.Text;

Sec_Name:= Edit3.Text;

datarogd:=strtodate(Edit4.Text);

Tel1:= Edit7.Text;

Tel2:= Edit89.Text;

INN:= Edit5.Text;

dohod:= strtoint(Edit6.Text);

// добавление данных клиент

mainclientsform.ADOTable3.Active:=true;

mainclientsform.ADOTable3.Insert();

mainclientsform.ADOTable3.FieldByName('').AsString:= Fam;

mainclientsform.ADOTable3.FieldByName('').AsString:= Name1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Sec_Name;

mainclientsform.ADOTable3.FieldByName('').AsDateTime:=datarogd;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel2;

mainclientsform.ADOTable3.FieldByName('').AsString:= INN;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= dohod;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= kodadr;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= koddok;

mainclientsform.ADOTable3.Post();

end;

procedure TaddForm.Button3Click(Sender: TObject);

var summa, egplat,srok,procent, kodkred,kodistorii:integer;

target:string;

datapogash:tdatetime;

begin

target:= Edit15.Text;

datapogash:=StrToDate(Edit36.Text);

summa:=strtoint(Edit16.Text);

egplat:=strtoint(Edit14.Text);

srok:=strtoint(Edit30.Text);

procent:=strtoint(Edit38.Text);

kodistorii:= strtoint(Edit99.Text);

mainclientsform.ADOTable6.Active:=true;

mainclientsform.ADOTable6.Insert();

mainclientsform.ADOTable6.FieldByName('').AsString:= target;

mainclientsform.ADOTable6.FieldByName('').AsDateTime:=datapogash;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=egplat;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=srok;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=procent;

mainclientsform.ADOTable6.Post();

kodkred:= mainclientsform.ADOTable6.FieldByName('').AsInteger;

mainclientsform.ADOTable7.Active:=true;

mainclientsform.ADOTable7.Insert();

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodkred;

mainclientsform.ADOTable7.FieldByName('').AsDateTime:=now;

mainclientsform.ADOTable7.FieldByName('').AsString:='';

mainclientsform.ADOTable7.Post();

end;

procedure TaddForm.Button5Click(Sender: TObject);

var srokvoz, datenach:tdatetime;

narush,sankcii,zakrut,status:string;

procentsv, kodclient, kodfakt, kodistorii, summa:integer;

bank,vidob,nomdog,notes:string;

datadog,srokup:tdatetime;

begin

srokvoz:=StrToDate(Edit21.Text);

narush:=Edit37.Text;

procentsv:=strtoint(Edit32.Text);

sankcii:=Edit29.Text;

zakrut:=Edit31.Text;

mainclientsform.ADOTable8.Active:=true;

mainclientsform.ADOTable8.Insert();

mainclientsform.ADOTable8.FieldByName('').AsDateTime:= srokvoz;

mainclientsform.ADOTable8.FieldByName('').AsString:= narush;

mainclientsform.ADOTable8.FieldByName('%').AsInteger:=procentsv;

mainclientsform.ADOTable8.FieldByName('').AsString:= sankcii;

mainclientsform.ADOTable8.FieldByName('').AsString:= zakrut;

mainclientsform.ADOTable8.Post();

kodfakt:= mainclientsform.ADOTable8.FieldByName('Код факта').AsInteger;

status:=Edit34.Text;

datenach:=StrToDate(Edit35.Text);

kodclient:=strtoint(Edit33.Text);

mainclientsform.ADOTable1.Active:=true;

mainclientsform.ADOTable1.Insert();

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodclient;

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodfakt;

mainclientsform.ADOTable1.FieldByName('').AsDateTime:=datenach;

mainclientsform.ADOTable1.FieldByName('').AsString:= status;

mainclientsform.ADOTable1.Post();

kodistorii:= mainclientsform.ADOTable1.FieldByName('').AsInteger;

bank:=Edit19.Text;

vidob:=Edit20.Text;

nomdog:=Edit23.Text;

notes:=Edit27.Text;

summa:=STRToint(Edit17.Text);

datadog:= StrToDate(Edit22.Text);

srokup:=StrToDate(Edit18.Text);

mainclientsform.ADOTable2.Active:=true;

mainclientsform.ADOTable2.Insert();

mainclientsform.ADOTable2.FieldByName('').AsString:=bank;

mainclientsform.ADOTable2.FieldByName('').AsString:= vidob;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=datadog;

mainclientsform.ADOTable2.FieldByName('').AsString:=nomdog;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=srokup;

mainclientsform.ADOTable2.FieldByName('').AsString:=notes;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable2.Post();

end;

end.

unit parampoisk;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,addsorce,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls ;

type

Tparampoik = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

Label1: TLabel;

Edit3: TEdit;

GroupBox2: TGroupBox;

Label2: TLabel;

Edit1: TEdit;

GroupBox3: TGroupBox;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit4: TEdit;

Label5: TLabel;

Edit5: TEdit;

procedure RzBitBtn4Click(Sender: TObject);

procedure RzBitBtn3Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

parampoik: Tparampoik;

ChildTemplateForm1: TChildTemplateForm;

ff:string;

flagpoisk:boolean;

p1,p2:tparameter;

all:boolean;

ahour, aminute, asecond, amillisecond :word;

priznak:string;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

idnakl,idzapas,i,sravn,kolnakl,kolzapas, rezerv_kol:integer;

implementation

uses mainclients;

{$R *.dfm}

procedure Tparampoik.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure Tparampoik.RzBitBtn3Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

all:boolean;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

fl_book, fl_avtor, fl_izdat, fl_location, fl_vid, fl_category:boolean;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear;

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

end;

procedure Tparampoik.RzBitBtn4Click(Sender: TObject);

begin

flagpoisk:=false;

MainClientsForm.IsMDIChildOpen(MainClientsForm,'parampoik');

end;

procedure Tparampoik.Button1Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

timenach,timekon:tdatetime;

data:tdatetime;

summa,srok:integer;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2;

mainclientsform.ADOQuery2.Active:=false;

mainclientsform.ADOQuery2.SQL.Clear;

if nomer_poisk=1 then begin

childTemplateForm.Button1.Visible:=false;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

S:=Edit3.Text;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.[],.[], , .* FROM INNER JOIN История ON.[] =.[] WHERE (((])=:P1));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=4 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit1.Text;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.* FROM Клиент WHERE ((() = :P1))' ;

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=5 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT.[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()=" "));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=6 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT .[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()<>""));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=7 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit2.Text;

summa:=STRTOINT(Edit4.Text);

srok:=STRTOINT(Edit5.Text);

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P2.Name:='P2';

P2.DataType:=ftinteger;

P2.Value:=round(0.5*summa/srok);

stroka_SQL:='SELECT, , , , , , .[], .[], ';

stroka_SQL:=stroka_SQL+'FROM INNER JOIN ( INNER JOIN ON.[] =.[]) ON Фактвыполнения.[Код факта] =.[]';

stroka_SQL:=stroka_SQL+'WHERE ( (>:P2) and () AND((Фактвыполнения.нарушение)="нет") AND (( [) AND (() AND (());';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

childTemplateForm.Label1.Caption:=!!!!'

end

else

childTemplateForm.Label1.Caption:=

end;

end;

end;

end.

unit ChildTemplate;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Buttons, Grids, DBGrids, ExtCtrls, Menus, StdCtrls, OleServer, ExcelXP, OleCtnrs, ComObj;

type

TChildTemplateForm = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure RzToolbarButton2Click(Sender: TObject);

procedure RzToolbarButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

implementation

{$R *.dfm}

uses mainclients;

procedure TChildTemplateForm.Button1Click(Sender: TObject);

var put,asFileName:string;

var

XlApplication: OleVariant;

XLWorkSheet: OleVariant;

var

vVarApp,vVarBooks,vVarBook,

vVarSheets,vVarSheet,vVarCell,ws: Variant;

i,j:integer;

a:string;

begin

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

try

XlApplication := GetActiveOleObject('Excel.Application');

except

XlApplication := CreateOleObject('Excel.Application');

end;

XlApplication.Workbooks.Open[ExtractFilePath(Application.ExeName)+'zayavka.xlt', 0, true]; XlApplication.Visible := true;

XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;

if nomer_poisk<>8 then

XLWorkSheet.cells[3,3]:=''

else

XLWorkSheet.cells[3,3]:='';

mainclientsform.ADOQuery2.First;

for i:=1 to mainclientsform.ADOQuery2.RecordCount do

begin

j:= 0;

A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;

XLWorkSheet.cells[i+5,2]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;

XLWorkSheet.cells[i+5,3]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;

XLWorkSheet.cells[i+5,4]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;

XLWorkSheet.cells[i+5,5]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;

XLWorkSheet.cells[i+5,6]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;

XLWorkSheet.cells[i+5,7]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;

XLWorkSheet.cells[i+5,8]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;

XLWorkSheet.cells[i+5,9]:=A ;

mainclientsform.ADOQuery2.Next;

end ;

end;

end;

procedure TChildTemplateForm.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

unit MainClients;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate,

addsorce, DateUtils, parampoisk, ToolWin, ComCtrls, StdCtrls, jpeg, ExtCtrls,

RzButton, Buttons, RzSpnEdt, RzPanel;

type

TMainClientsForm = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

MainMenu1: TMainMenu;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

DataSource1: TDataSource;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

ADOTable5: TADOTable;

ADOTable6: TADOTable;

ADOTable7: TADOTable;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

N18: TMenuItem;

ADOTable8: TADOTable;

N24: TMenuItem;

Image1: TImage;

ToolBar1: TToolBar;

RzRapidFireButton1: TRzRapidFireButton;

RzRapidFireButton2: TRzRapidFireButton;

RzRapidFireButton3: TRzRapidFireButton;

RzRapidFireButton4: TRzRapidFireButton;

RzRapidFireButton5: TRzRapidFireButton;

DataSource2: TDataSource;

h: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N19: TMenuItem;

N25: TMenuItem;

procedure N26Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure N25Click(Sender: TObject);

procedure hClick(Sender: TObject);

procedure N24Click(Sender: TObject);

procedure N23Click(Sender: TObject);

procedure RzRapidFireButton5Click(Sender: TObject);

procedure RzRapidFireButton4Click(Sender: TObject);

procedure RzRapidFireButton3Click(Sender: TObject);

procedure RzRapidFireButton2Click(Sender: TObject);

procedure RzRapidFireButton1Click(Sender: TObject);

procedure N12Click(Sender: TObject);

function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

function IsFormOpen(const FormName : string): Boolean;

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure DataSource1DataChange(Sender: TObject; Field: TField);

procedure N4Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N19Click(Sender: TObject);

private

{ Private declarations }

procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

public

{ Public declarations }

end;

var

MainClientsForm: TMainClientsForm;

nastr:tinifile;

DirectoryForm : TDBDirectoryTemplateForm;

prosmForm: Taddform;

mainflag:boolean;

nomer_poisk:word;

flag1,flag2:boolean;

s:string;

var dom_tel,mob_tel:string;

adres,notes:string;

stag:real;

rogd:tdate;

var education,vuz, fakultet,specialnost,kurs:string;

data_vuz, data_kurs:tdate;

lingvo,lingvo_k, comp, comp_k :string;

idlingvo, idcomp, id_education,id_client,id_regim, id_areal, id_organization:integer;

var oblast,profesiya:string;

implementation

{$R *.dfm}

function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Pred(AFormName.MDIChildCount) DownTo 0 do

if (AFormName.MDIChildren[i].Name = AMDIChildName) then

begin

Result := True;

AFormName.MDIChildren[i].Free;

end;

end;

function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Screen.FormCount - 1 DownTo 0 do

if (Screen.Forms[i].Name = FormName) then

begin

Result := True;

Break;

end;

end;

procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

begin

//создаем форму

DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);

DirectoryForm.TableDBGrid.DataSource:=ds;

DirectoryForm.Top:=0;

DirectoryForm.Left:=0;

DirectoryForm.Caption:=sCaption;

end;

procedure TMainClientsForm.N12Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Неотработанные документы';

nomer_poisk:=3;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N6Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;

mainclientsform.ADOTable1.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem(, mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N7Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;

mainclientsform.ADOTable2.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Обязательства', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N8Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;

mainclientsform.ADOTable3.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Клиенты', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N9Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;

mainclientsform.ADOTable4.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Адреса', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.RzRapidFireButton1Click(Sender: TObject);

begin

MainClientsForm.N3Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton2Click(Sender: TObject);

begin

MainClientsForm.N4Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton3Click(Sender: TObject);

begin

MainClientsForm.N15Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton4Click(Sender: TObject);

begin

MainClientsForm.N14Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton5Click(Sender: TObject);

begin

MainClientsForm.Close;

end;

procedure TMainClientsForm.N10Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;

mainclientsform.ADOTable5.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Документы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N20Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;

mainclientsform.ADOTable6.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N21Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;

mainclientsform.ADOTable7.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Запросы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N23Click(Sender: TObject);

begin

mainclientsform.N3Click(Sender);

mainflag:=true;

flag1:=true;

flag2:=false;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.Height:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N24Click(Sender: TObject);

begin

mainclientsform.N6Click(Sender);

mainflag:=true;

flag1:=false;

flag2:=true;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=true;

ProsmForm.Height:=500;

ProsmForm.Width:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N25Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=7;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.N26Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Отчеты;

nomer_poisk:=8;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.FormCreate(Sender: TObject);

var NewConnection: Widestring;

begin

ADOConnection1.Close;

ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+GetCurrentDir+'\baza.mdb;';

ADOConnection1.Open;

MainClientsForm.ADOTable1.Active:=true;

MainClientsForm.ADOTable2.Active:=true;

MainClientsForm.ADOTable3.Active:=true;

MainClientsForm.ADOTable4.Active:=true;

MainClientsForm.ADOTable5.Active:=true;

MainClientsForm.ADOTable6.Active:=true;

MainClientsForm.ADOTable7.Active:=true;

MainClientsForm.ADOTable8.Active:=true;

end;

procedure TMainClientsForm.hClick(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'Резолюция ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=true;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:=' / запрос';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N3Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=true;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.DataSource1DataChange(Sender: TObject;

Field: TField);

var

kodistorii,kodclient,kodfact,kodkred:integer;

datanach:tdatetime;

status:string;

begin

if mainflag then

begin

kodistorii:=mainclientsform.DataSource1.DataSet.FieldByName('Код истории').AsInteger;

ProsmForm.Edit70.Text:=inttostr(kodistorii);

kodclient:=mainclientsform.DataSource1.DataSet.FieldByName('Код клиента').AsInteger;

ProsmForm.Edit71.Text:=inttostr(kodclient);

datanach:=mainclientsform.DataSource1.DataSet.FieldByName('дата начала').AsDateTime;

ProsmForm.Edit83.Text:=Datetostr(datanach);

kodfact:=mainclientsform.DataSource1.DataSet.FieldByName('Код факта').AsInteger;

status:=mainclientsform.DataSource1.DataSet.FieldByName('статус').AsString;

mainclientsform.ADOTable3.Active:=true;

if mainclientsform.ADOTable3.Locate('Код клиента',kodclient , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit72.Text:=mainclientsform.ADOTable3.FieldByName('Фамилия').AsString;

ProsmForm.Edit73.Text:=mainclientsform.ADOTable3.FieldByName('Имя').AsString;

ProsmForm.Edit76.Text:=mainclientsform.ADOTable3.FieldByName('Отчество').AsString;

ProsmForm.Edit74.Text:=mainclientsform.ADOTable3.FieldByName('ИНН').AsString;

ProsmForm.Edit75.Text:=mainclientsform.ADOTable3.FieldByName('доход').AsString;

ProsmForm.Edit77.Text:=mainclientsform.ADOTable3.FieldByName('телефон1').AsString;

end;

if mainclientsform.ADOTable8.Locate('Код факта',kodfact , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit81.Text:=DateToStr(mainclientsform.ADOTable8.FieldByName('').AsDateTime);

ProsmForm.Edit84.Text:=mainclientsform.ADOTable8.FieldByName('нарушение').AsString;

ProsmForm.Edit85.Text:=inttostr(mainclientsform.ADOTable8.FieldByName('%своеврем').AsInteger);

ProsmForm.Edit86.Text:=mainclientsform.ADOTable8.FieldByName('штрафные санкции').AsString;

ProsmForm.Edit82.Text:=mainclientsform.ADOTable8.FieldByName('закрытие').AsString;

end;

mainclientsform.ADOTable7.Active:=true;

if mainclientsform.ADOTable7.Locate('',kodistorii , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit87.Text:=DateToStr(mainclientsform.ADOTable7.FieldByName('дата').AsDateTime);

kodkred:=mainclientsform.ADOTable7.FieldByName('').AsInteger;

end;

mainclientsform.ADOTable6.Active:=true;

if mainclientsform.ADOTable6.Locate(',kodkred , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit88.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit69.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit66.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit79.Text:=mainclientsform.ADOTable6.FieldByName('цель').AsString;

ProsmForm.Edit64.Text:=DateToStr(mainclientsform.ADOTable6.FieldByName('').AsDateTime);

end;

mainclientsform.DataSource2.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear();

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftinteger;

P1.Value:=kodistorii;

stroka_SQL:='SELECT обязательства.* FROM обязательства WHERE (.[]=:P1) ;' ;

MainClientsForm.ADOQuery1.SQL.Add(stroka_SQL);

MainClientsForm.ADOQuery1.Active:=true;

MainClientsForm.ADOQuery1.ExecSQL;

end;

end;

procedure TMainClientsForm.N4Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=true;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N14Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=1;

Poisk.GroupBox1.Visible:=true;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N15Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=2;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

end;

procedure TMainClientsForm.N16Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Поиск клиента';

nomer_poisk:=4;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=true;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N17Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=5;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

procedure TMainClientsForm.N18Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable8;

mainclientsform.ADOTable8.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Фактическое выполнение', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N11Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,' ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N19Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='""';

nomer_poisk:=6;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

end.

unit addsorce;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls, DBCtrls ;

type

TaddForm = class(TForm)

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Button1: TButton;

Edit7: TEdit;

GroupBox3: TGroupBox;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Edit14: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Button3: TButton;

GroupBox5: TGroupBox;

Label29: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label37: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label17: TLabel;

Edit29: TEdit;

Edit31: TEdit;

Edit32: TEdit;

Edit33: TEdit;

Edit34: TEdit;

Edit35: TEdit;

Edit37: TEdit;

Button5: TButton;

Edit19: TEdit;

Edit20: TEdit;

Edit21: TEdit;

Edit22: TEdit;

Edit23: TEdit;

Edit17: TEdit;

Label85: TLabel;

Edit89: TEdit;

Label86: TLabel;

Edit90: TEdit;

Label87: TLabel;

Label88: TLabel;

Edit91: TEdit;

Label89: TLabel;

Edit92: TEdit;

Label90: TLabel;

Edit93: TEdit;

Label91: TLabel;

Edit94: TEdit;

Label92: TLabel;

Label93: TLabel;

Edit95: TEdit;

Label94: TLabel;

Edit96: TEdit;

Label95: TLabel;

Edit97: TEdit;

Label96: TLabel;

Edit98: TEdit;

Label18: TLabel;

Label27: TLabel;

Edit18: TEdit;

Label30: TLabel;

Edit27: TEdit;

Label36: TLabel;

Edit30: TEdit;

Label38: TLabel;

Edit36: TEdit;

Label97: TLabel;

Edit38: TEdit;

Label99: TLabel;

Edit99: TEdit;

GroupBox7: TGroupBox;

Label62: TLabel;

Label63: TLabel;

Label64: TLabel;

Label65: TLabel;

Label66: TLabel;

Label67: TLabel;

Label70: TLabel;

Label71: TLabel;

Label73: TLabel;

Label74: TLabel;

Label75: TLabel;

Label77: TLabel;

Label79: TLabel;

Label80: TLabel;

Label81: TLabel;

Label82: TLabel;

Label83: TLabel;

Label84: TLabel;

Label78: TLabel;

Edit64: TEdit;

Edit66: TEdit;

Edit69: TEdit;

Edit70: TEdit;

DBNavigator2: TDBNavigator;

Edit71: TEdit;

Edit72: TEdit;

Edit73: TEdit;

Edit74: TEdit;

Edit75: TEdit;

Edit76: TEdit;

Edit77: TEdit;

Edit79: TEdit;

Edit81: TEdit;

Edit82: TEdit;

Edit83: TEdit;

Edit84: TEdit;

Edit85: TEdit;

Edit86: TEdit;

Edit87: TEdit;

Edit88: TEdit;

DBGrid1: TDBGrid;

procedure Button5Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

addForm: TaddForm;

naim:string;

ed_izm:string;

kolvo:integer;

cena:real;

nomerpartiya:string;

sernum:string;

srok_godnost:tdate;

data_postavka:tdate;

postavchik:string;

description:string;

location:string;

location_part:string;

primech:string;

Ayear, amonth,aday:word;

razmer_part,kol:integer;

id_part,idaddional,idlocation,idzapas:integer;

idtov,id_proffesiya:integer;

implementation

uses MainClients;

{$R *.dfm}

procedure TaddForm.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure TaddForm.Button1Click(Sender: TObject);

var

Fam, Name1, Sec_Name, Dep, Dolg, Tel1, tel2, INN :string;

kodadr,koddok,dohod:integer;

oblast,gorod, street, dom, kvartira:string;

naimenovan, nomer, kem:string;

datadok,datarogd:tdate;

begin

oblast:=Edit90.Text;

gorod:= Edit91.Text;

street:=Edit92.Text;

dom:=Edit93.Text;

kvartira:=Edit94.Text;

mainclientsform.ADOTable4.Active:=true;

mainclientsform.ADOTable4.Insert();

mainclientsform.ADOTable4.FieldByName('').AsString:= oblast;

mainclientsform.ADOTable4.FieldByName('').AsString:= gorod;

mainclientsform.ADOTable4.FieldByName('').AsString:= street;

mainclientsform.ADOTable4.FieldByName('дом').AsString:= dom;

mainclientsform.ADOTable4.FieldByName('').AsString:= kvartira;

mainclientsform.ADOTable4.Post();

kodadr:=mainclientsform.ADOTable4.FieldByName('').AsInteger;

naimenovan:=Edit95.Text;

nomer:=Edit96.Text;

kem:=Edit98.Text;;

datadok:=strtodate(Edit97.Text);

mainclientsform.ADOTable5.Active:=true;

mainclientsform.ADOTable5.Insert();

mainclientsform.ADOTable5.FieldByName('').AsString:= naimenovan;

mainclientsform.ADOTable5.FieldByName('').AsString:= nomer;

mainclientsform.ADOTable5.FieldByName('').AsDateTime:=datadok;

mainclientsform.ADOTable5.FieldByName('').AsString:= kem;

mainclientsform.ADOTable5.Post();

koddok:=mainclientsform.ADOTable5.FieldByName('Код документа').AsInteger;

Fam:= Edit1.Text;

Name1:= Edit2.Text;

Sec_Name:= Edit3.Text;

datarogd:=strtodate(Edit4.Text);

Tel1:= Edit7.Text;

Tel2:= Edit89.Text;

INN:= Edit5.Text;

dohod:= strtoint(Edit6.Text);

// добавление данных клиент

mainclientsform.ADOTable3.Active:=true;

mainclientsform.ADOTable3.Insert();

mainclientsform.ADOTable3.FieldByName('').AsString:= Fam;

mainclientsform.ADOTable3.FieldByName('').AsString:= Name1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Sec_Name;

mainclientsform.ADOTable3.FieldByName('').AsDateTime:=datarogd;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel2;

mainclientsform.ADOTable3.FieldByName('').AsString:= INN;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= dohod;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= kodadr;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= koddok;

mainclientsform.ADOTable3.Post();

end;

procedure TaddForm.Button3Click(Sender: TObject);

var summa, egplat,srok,procent, kodkred,kodistorii:integer;

target:string;

datapogash:tdatetime;

begin

target:= Edit15.Text;

datapogash:=StrToDate(Edit36.Text);

summa:=strtoint(Edit16.Text);

egplat:=strtoint(Edit14.Text);

srok:=strtoint(Edit30.Text);

procent:=strtoint(Edit38.Text);

kodistorii:= strtoint(Edit99.Text);

mainclientsform.ADOTable6.Active:=true;

mainclientsform.ADOTable6.Insert();

mainclientsform.ADOTable6.FieldByName('').AsString:= target;

mainclientsform.ADOTable6.FieldByName('').AsDateTime:=datapogash;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=egplat;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=srok;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=procent;

mainclientsform.ADOTable6.Post();

kodkred:= mainclientsform.ADOTable6.FieldByName('').AsInteger;

mainclientsform.ADOTable7.Active:=true;

mainclientsform.ADOTable7.Insert();

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodkred;

mainclientsform.ADOTable7.FieldByName('').AsDateTime:=now;

mainclientsform.ADOTable7.FieldByName('').AsString:='';

mainclientsform.ADOTable7.Post();

end;

procedure TaddForm.Button5Click(Sender: TObject);

var srokvoz, datenach:tdatetime;

narush,sankcii,zakrut,status:string;

procentsv, kodclient, kodfakt, kodistorii, summa:integer;

bank,vidob,nomdog,notes:string;

datadog,srokup:tdatetime;

begin

srokvoz:=StrToDate(Edit21.Text);

narush:=Edit37.Text;

procentsv:=strtoint(Edit32.Text);

sankcii:=Edit29.Text;

zakrut:=Edit31.Text;

mainclientsform.ADOTable8.Active:=true;

mainclientsform.ADOTable8.Insert();

mainclientsform.ADOTable8.FieldByName('').AsDateTime:= srokvoz;

mainclientsform.ADOTable8.FieldByName('').AsString:= narush;

mainclientsform.ADOTable8.FieldByName('%').AsInteger:=procentsv;

mainclientsform.ADOTable8.FieldByName('').AsString:= sankcii;

mainclientsform.ADOTable8.FieldByName('').AsString:= zakrut;

mainclientsform.ADOTable8.Post();

kodfakt:= mainclientsform.ADOTable8.FieldByName('Код факта').AsInteger;

status:=Edit34.Text;

datenach:=StrToDate(Edit35.Text);

kodclient:=strtoint(Edit33.Text);

mainclientsform.ADOTable1.Active:=true;

mainclientsform.ADOTable1.Insert();

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodclient;

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodfakt;

mainclientsform.ADOTable1.FieldByName('').AsDateTime:=datenach;

mainclientsform.ADOTable1.FieldByName('').AsString:= status;

mainclientsform.ADOTable1.Post();

kodistorii:= mainclientsform.ADOTable1.FieldByName('').AsInteger;

bank:=Edit19.Text;

vidob:=Edit20.Text;

nomdog:=Edit23.Text;

notes:=Edit27.Text;

summa:=STRToint(Edit17.Text);

datadog:= StrToDate(Edit22.Text);

srokup:=StrToDate(Edit18.Text);

mainclientsform.ADOTable2.Active:=true;

mainclientsform.ADOTable2.Insert();

mainclientsform.ADOTable2.FieldByName('').AsString:=bank;

mainclientsform.ADOTable2.FieldByName('').AsString:= vidob;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=datadog;

mainclientsform.ADOTable2.FieldByName('').AsString:=nomdog;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=srokup;

mainclientsform.ADOTable2.FieldByName('').AsString:=notes;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable2.Post();

end;

end.

unit parampoisk;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,addsorce,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls ;

type

Tparampoik = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

Label1: TLabel;

Edit3: TEdit;

GroupBox2: TGroupBox;

Label2: TLabel;

Edit1: TEdit;

GroupBox3: TGroupBox;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit4: TEdit;

Label5: TLabel;

Edit5: TEdit;

procedure RzBitBtn4Click(Sender: TObject);

procedure RzBitBtn3Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

parampoik: Tparampoik;

ChildTemplateForm1: TChildTemplateForm;

ff:string;

flagpoisk:boolean;

p1,p2:tparameter;

all:boolean;

ahour, aminute, asecond, amillisecond :word;

priznak:string;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

idnakl,idzapas,i,sravn,kolnakl,kolzapas, rezerv_kol:integer;

implementation

uses mainclients;

{$R *.dfm}

procedure Tparampoik.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

procedure Tparampoik.RzBitBtn3Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

all:boolean;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

fl_book, fl_avtor, fl_izdat, fl_location, fl_vid, fl_category:boolean;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear;

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

end;

procedure Tparampoik.RzBitBtn4Click(Sender: TObject);

begin

flagpoisk:=false;

MainClientsForm.IsMDIChildOpen(MainClientsForm,'parampoik');

end;

procedure Tparampoik.Button1Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

timenach,timekon:tdatetime;

data:tdatetime;

summa,srok:integer;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2;

mainclientsform.ADOQuery2.Active:=false;

mainclientsform.ADOQuery2.SQL.Clear;

if nomer_poisk=1 then begin

childTemplateForm.Button1.Visible:=false;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

S:=Edit3.Text;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.[],.[], , .* FROM INNER JOIN История ON.[] =.[] WHERE (((])=:P1));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=4 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit1.Text;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.* FROM Клиент WHERE ((() = :P1))' ;

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=5 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT.[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()=" "));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=6 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT .[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()<>""));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=7 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit2.Text;

summa:=STRTOINT(Edit4.Text);

srok:=STRTOINT(Edit5.Text);

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P2.Name:='P2';

P2.DataType:=ftinteger;

P2.Value:=round(0.5*summa/srok);

stroka_SQL:='SELECT, , , , , , .[], .[], ';

stroka_SQL:=stroka_SQL+'FROM INNER JOIN ( INNER JOIN ON.[] =.[]) ON Фактвыполнения.[Код факта] =.[]';

stroka_SQL:=stroka_SQL+'WHERE ( (>:P2) and () AND((Фактвыполнения.нарушение)="нет") AND (( [) AND (() AND (());';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

childTemplateForm.Label1.Caption:=!!!!'

end

else

childTemplateForm.Label1.Caption:=

end;

end;

end;

end.

unit ChildTemplate;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Buttons, Grids, DBGrids, ExtCtrls, Menus, StdCtrls, OleServer, ExcelXP, OleCtnrs, ComObj;

type

TChildTemplateForm = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure RzToolbarButton2Click(Sender: TObject);

procedure RzToolbarButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

implementation

{$R *.dfm}

uses mainclients;

procedure TChildTemplateForm.Button1Click(Sender: TObject);

var put,asFileName:string;

var

XlApplication: OleVariant;

XLWorkSheet: OleVariant;

var

vVarApp,vVarBooks,vVarBook,

vVarSheets,vVarSheet,vVarCell,ws: Variant;

i,j:integer;

a:string;

begin

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

try

XlApplication := GetActiveOleObject('Excel.Application');

except

XlApplication := CreateOleObject('Excel.Application');

end;

XlApplication.Workbooks.Open[ExtractFilePath(Application.ExeName)+'zayavka.xlt', 0, true]; XlApplication.Visible := true;

XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;

if nomer_poisk<>8 then

XLWorkSheet.cells[3,3]:=''

else

XLWorkSheet.cells[3,3]:='';

mainclientsform.ADOQuery2.First;

for i:=1 to mainclientsform.ADOQuery2.RecordCount do

begin

j:= 0;

A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;

XLWorkSheet.cells[i+5,2]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;

XLWorkSheet.cells[i+5,3]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;

XLWorkSheet.cells[i+5,4]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;

XLWorkSheet.cells[i+5,5]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;

XLWorkSheet.cells[i+5,6]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;

XLWorkSheet.cells[i+5,7]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;

XLWorkSheet.cells[i+5,8]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;

XLWorkSheet.cells[i+5,9]:=A ;

mainclientsform.ADOQuery2.Next;

end ;

end;

end;

procedure TChildTemplateForm.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

XlApplication.Visible := true;

XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;

if nomer_poisk<>8 then

XLWorkSheet.cells[3,3]:=''

else

XLWorkSheet.cells[3,3]:='';

mainclientsform.ADOQuery2.First;

for i:=1 to mainclientsform.ADOQuery2.RecordCount do

begin

j:= 0;

A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;

XLWorkSheet.cells[i+5,2]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;

XLWorkSheet.cells[i+5,3]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;

XLWorkSheet.cells[i+5,4]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;

XLWorkSheet.cells[i+5,5]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;

XLWorkSheet.cells[i+5,6]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;

XLWorkSheet.cells[i+5,7]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;

XLWorkSheet.cells[i+5,8]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;

XLWorkSheet.cells[i+5,9]:=A ;

mainclientsform.ADOQuery2.Next;

end ;

end;

end;

procedure TChildTemplateForm.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

XlApplication.Visible := true;

XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;

if nomer_poisk<>8 then

XLWorkSheet.cells[3,3]:=''

else

XLWorkSheet.cells[3,3]:='';

mainclientsform.ADOQuery2.First;

for i:=1 to mainclientsform.ADOQuery2.RecordCount do

begin

j:= 0;

A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;

XLWorkSheet.cells[i+5,2]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;

XLWorkSheet.cells[i+5,3]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;

XLWorkSheet.cells[i+5,4]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;

XLWorkSheet.cells[i+5,5]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;

XLWorkSheet.cells[i+5,6]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;

XLWorkSheet.cells[i+5,7]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;

XLWorkSheet.cells[i+5,8]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;

XLWorkSheet.cells[i+5,9]:=A ;

mainclientsform.ADOQuery2.Next;

end ;

end;

end;

procedure TChildTemplateForm.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

XlApplication.Visible := true;

XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;

if nomer_poisk<>8 then

XLWorkSheet.cells[3,3]:=''

else

XLWorkSheet.cells[3,3]:='';

mainclientsform.ADOQuery2.First;

for i:=1 to mainclientsform.ADOQuery2.RecordCount do

begin

j:= 0;

A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;

XLWorkSheet.cells[i+5,2]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;

XLWorkSheet.cells[i+5,3]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;

XLWorkSheet.cells[i+5,4]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;

XLWorkSheet.cells[i+5,5]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;

XLWorkSheet.cells[i+5,6]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;

XLWorkSheet.cells[i+5,7]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;

XLWorkSheet.cells[i+5,8]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;

XLWorkSheet.cells[i+5,9]:=A ;

mainclientsform.ADOQuery2.Next;

end ;

end;

end;

procedure TChildTemplateForm.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;