Конструктор таблиц базы данных

Назначение

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

Тип данных

Каждое поле таблицы обладает именем и типом.

Рассмотрим доступные типы полей
ТЕКСТ - может содержать любое количество текста, используемая кодировка текста UTF-8. Работает вместе с компонентами
ЧИСЛО - поле содержит число. Работает вместе с компонентами
ДА/НЕТ - поле содержит значение Истинна или Ложь. Работает вместе с компонентом
ДАТА/ВРЕМЯ - поле содержит одновременно дату и время. Работает вместе с компонентами
ДАТА - поле содержит только дату. Работает вместе с компонентами
ВРЕМЯ - поле содержит только время. Работает вместе с компонентом
ИЗОБРАЖЕНИЕ - поле содержит изображение в формате bmp, jpg, gif или png. Работает вместе с компонентом
ФАЙЛ - поле содержит файл любого типа. Работает вместе с компонентом
СЧЕТЧИК - поле является автоматическим счетчиком для новых записей. Работает вместе с компонентом
СВЯЗЬ - поле является внешним ключом, который ссылается на родительскую таблицу, таким образом устанавливается связь между таблицами.

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

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

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

Обратите внимание на связь между таблицами person и phone, как видите на диалоге ниже, мы установили опцию при создании связи "Удалять записи из таблицы, если удаляется родительская запись", что означает удаление всех номеров телефонов из таблицы phone принадлежащих абоненту из таблицы person.


Кнопка

компонент: Кнопка

Назначение

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

Свойства

Action | Определяет действие кнопки, при ее нажатии
Caption | Текст надписи на кнопке
Font | Настройка цвета и шрифта надписи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop< | Определяет, будет ли компонент участвовать в получении фокуса, при нажатии на Tab

Подробно о свойстве "Action"

Нет действия | Действие не задано
Поиск | Производит поиск по базе данных и вывод результата в компонент таблицы
Новая запись | Показывает форму, которая предназначена для добавлении записи в базу данных
Сохранить запись | Сохраняет запись в базу данных, данные для сохранения берутся из других визуальных компонентов.
Показать запись | Читает информацию из базы данных и показывает их на форме.
Удалить запись | Удаляет запись из базы данных
SQL запрос | Исполняет заданный SQL запрос, при необходимости выводит результат в компонент таблицы
Отчет | Позволяет ввести SQL запрос для отчета, и выбрать файл определяющий внешний вид и логику отчета.
Показать форму | Показывает выбранную форму на экране
Закрыть форму | Закрывает форму, на котором расположена кнопка
Показать форму | Показывает форму на экране
Открыть Excel | Из выбранного компонента таблицы, производит экспорт в Excel


Кнопка

действие кнопки: SQL запрос

Назначение

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

Описание

*Чтобы работать с данным действием, вы должны обладать знаниями языка запросов SQL.

Для SQL запроса вы можете применять также UPDATE, INSERT, DELETE и любые другие ключевые слова.

Рассмотрим пример SQL запроса.

Обратите внимание в SQL запросе на текст {edLastName}, где edLastName - это имя компонента (Текстовое поле) на текущей форме, таким образом в SQL запрос автоматически вставится текст из этого компонента.

Рассмотрим еще один пример.

Обратите внимание в SQL запросе на текст {cbGroup}, где cbGroup - это имя компонента (Выдающий список) на текущей форме, таким образом в SQL запрос автоматически вставится идентификатор записи из таблицы, содержащая названия групп, к которым абонент может принадлежать.

Во всем этих примерах, в запросе мы добавляли id (напр.: SELECT lastname, fistname, id FROM...), что обязательно, если мы хотим иметь возможность отредактировать или удалить запись из компонента таблицы, в нашем случае с именем GridSearch.


Кнопка

действие кнопки: Отчет

Назначение

Позволяет ввести SQL запрос для отчета, и выбрать файл определяющий внешний вид и логику отчета.

Описание

*Чтобы работать с отчетами, вы должны обладать знаниями языка запросов SQL.

Рассмотрим принцип настройки отчета.
Допустим вам необходимо вывести всех абонентов телефонного справочника с их телефонами.

1. Введите SQL запрос.
2. Так как пока не создан файл для данного отчета, оставим настройку "Выберите файл отчета" как показано на рисунке выше.
3. Запускаем наш проект, и нажимаем кнопку, к которой только что присвоили действие "Отчет".
4. Перед вами появиться дизайнер отчета, в котором вам необходимо создать файл отчета, и сохранить в папку "Report", которая находится в папке вашего проекта. Документация по работе с дизайнером отчетов вы можете найти здесь http://www.fast-report.com/ru/download/public_files/130/
5. После того как вы создали файл отчета, зайдите снова в свойство кнопки Action и выберите ваш файл отчета из списка. Теперь при нажатии на кнопку, вы увидите ваш готовый отчет.

Как вы могли заметить, мы пока не воспользовались еще одной опцией под названием "Выберите компонент таблицы"

Данная опция позволяет получить идентификатор записи для вашего SQL запроса из необходимого компонента таблицы. Допустим вам необходимо распечатать номера телефонов только того абонента, которого вы выберите из компонента таблицы. Для этого в SQL запрос нужно добавить: where person.id=$id, где $id это идентификатор записи из таблицы "person", который подставится автоматически.

Точно такой же результат можно получить, если данную кнопку с такими же настройками поместить на форме для добавления/редактирования абонента, где значению {id} автоматически присвоиться идентификатор текущей записи. При этом опция "Выберите компонент таблицы" оставьте пустой.

Дополнительно

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


Кнопка

компонент: Надпись

Назначение

Компонент служит для создания надписей на форме. Для настройки цвета и шрифта, используйте свойство Font.

Свойства

Caption | Текст надписи
Font | Настройка цвета и шрифта надписи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента


Календарь

компонент: Календарь

Назначение

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

Свойства

TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Filter | Задает условие поиска. Свойство используется только тогда, когда компонент используется для поиска по базе данных.
Font | Настройка цвета и шрифта надписи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
WeekNumbers | Показывать ли номера недель на календаре
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент учавствовать в получении фокуса, при нажатии на Tab


Флаг

компонент: Флаг

Назначение

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

Данный компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

Свойства

TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Color | Определяет цвет фона компонента
Font | Настройка цвета и шрифта надписи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент участвовать в получении фокуса, при нажатии на Tab


Счетчик

компонент: Счетчик

Назначение

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

В отличие от других компонентов, отсутствует свойство FieldName, необходимо задать только TableName, определяющее имя таблицы базы данных, в которой присуствует поле с типом СЧЕТЧИК.

Свойства

TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
Color | Определяет цвет фона компонента
Font | Настройка цвета и шрифта надписи
ReadOnly | Определяет возможность редактирования текста
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент участвовать в получении фокуса, при нажатии на Tab


Дата/Время

компонент: Дата/Время

Назначение

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

Свойства

TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Calendar | Ссылка на компонент Дата/Время или Календарь. Имеет смысл, если свойство Kind=Time. См. далее для подробностей.
Font | Настройка цвета и шрифта надписи
DateFormat | Осуществляет выбор между коротким и длинным форматом даты. Имеет смысл, если свойство Kind=Date
DateMode | Определяет каким способом выбирать дату, посредством календаря, или кнопками. Имеет смысл, если свойство Kind=Date
Filter | Задает условие поиска. Свойство используется только тогда, когда компонент используется для поиска по базе данных.
Format | Позволяет задать свой собственный формат даты или времени. См. далее для подробностей.
Kind | Выбор представления, дата или время
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент учавствовать в получении фокуса, при нажатии на Tab

Подробней о свойстве "Calendar"

Позволяет привязать к компоненту, второй компонент Дата/Время или Календарь.

Например вам необходимо сохранять в базу данных одновременно время и дату, для этого вам необходимо связать два компонента, один из которых будет главный, и отображать время, а второй подчиненный, его имя нужно ввести в свойство Calendar у главного компонента, подчиненным может быть компонент Дата/Время со свойством Kind=Date, либо компонент Календарь.

У подчиненного компонента, нет необходимости определять свойства TableName и FieldName, это необходимо сделать только у главного компонента.

Подробней о свойстве "Format"

Благодаря этому свойству, вы самостоятельно можете задать, каким образом показывать дату/время.
Например для даты вида: Пятница, 8 ноября 13, используйте следующий формат: dddd, d MMMM yy

Символы для форматирования даты
yy = Год с 2-мя последними цифрами
yyyy = Год как 4 цифры
M = Номер месяца без 0
MM = Номер месяца как 2 цифры
MMM = Короткое название месяца (Янв)
MMMM = Полное название месяца (Январь)
d = Число без 0
dd = Число как 2 цифры
ddd = Коротное название дня недели (Воск)
dddd = Полное название дня недели (Воскресенье)

h = Час без 0 (12 часовой формат)
hh = Час (12 часовой формат)
H = Час без 0 (24 часовой формат)
HH = Час (24 часовой формат)
m = Минуты без 0
mm = Минуты как 2 цифры
t = AM как A, PM как P
tt = AM/PM


Сохранение любого файла в базу данных

компонент: Сохранение любого файла в базу данных

Назначение

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

Свойства

TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Color | Определяет цвет фона компонента
Font | Настройка цвета и шрифта надписи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент учавствовать в получении фокуса, при нажатии на Tab


Сохранение изображения в базу данных

компонент: Сохранение изображения в базу данных

Назначение

Компонент служит для сохранения изображения в базу данных. Поддерживаются форматы: jpg, bmp, gif, png8, png24.
Компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

Свойства

TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Proportional | Определяет, необходимо ли сохранять оригинальную пропорцию изображения, если свойство Stretch=True
Stretch | Определяет, будет ли рисунок подогнан под размеры компонента
Transparent | Прозрачность фона изображения
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента


Выпадающий список

компонент: Выпадающий список

Назначение

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

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

Свойства

TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Color | Цвет фона компонента
Font | Настройка цвета и шрифта надписи
DropDownCount | Количество одновременно видимых записей у списка
DefaultIndex | Номер записи из списка, выбранный по умолчанию. Если 0, то запись по умолчанию не выбирается.
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент учавствовать в получении фокуса, при нажатии на Tab


Текстовое поле

компонент: Текстовое поле

Назначение

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

Свойства

TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Color | Определяет цвет фона компонента
Filter | Задает условие поиска. Свойство используется только тогда, когда компонент используется для поиска по базе данных.
Font | Настройка цвета и шрифта надписи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент учавствовать в получении фокуса, при нажатии на Tab


Группа

компонент: Группа

Назначение

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

Свойства

Caption | Заголовок компонента
Font | Настройка шрифта надписи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab


Рисунок

компонент: Рисунок

Назначение

Компонент не обладает какой-либо функциональностью, служит для оформления пользовательского интерфейса. Например, вы можете разместить логотип вашей фирмы на форме. Поддерживаются форматы jpg, bmp, gif, png8, png24.

Свойства

Picture | Файл рисунка
Proportional | Определяет, необходимо ли сохранять оригинальную пропорцию изображения, если свойство Stretch=True
Stretch | Определяет, будет ли рисунок подогнан под размеры компонента
Transparent | Прозрачность фона изображения
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента


Многострочное текстовое поле

компонент: Многострочное текстовое поле

Назначение

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

Свойства

TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Color | Определяет цвет фона компонента
Font | Настройка цвета и шрифта надписи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент участвовать в получении фокуса, при нажатии на Tab


Страницы

компонент: Страницы

Назначение

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

Свойства

Style | Визуальный стиль компонента
TabPosition | Расположение вкладок
Font | Настройка шрифта надписи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент участвовать в получении фокуса, при нажатии на Tab


Панель

компонент: Панель

Назначение

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

Свойства

Color | Определяет цвет фона компонента
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab


Таблица

компонент: Таблица

Назначение

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

Свойства

Settings | Настройка компонента, необходима когда нужно вывести дочерние записи из таблицы базы данных, либо вывести все записи таблицы.
DefaultRowHeight | Задает высоту строки
DrawingStyle | Задает визуальный стиль компонента
Font | Настройка цвета и шрифта таблицы
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет позицию компонента при переключении фокуса на форме, при нажатии на Tab
TabStop | Определяет, будет ли компонент учавствовать в получении фокуса, при нажатии на Tab

Дополнительные возможности

Во время работы вашего проекта, данный компонент обладает расширенными возможностями.

1. Вы можете скопировать в буфер обмена содержимое конкретной ячейки, для этого удерживая кнопку Ctrl, кликните левой кнопкой мыши по ячейке.

2. Вы можете скопировать в буфер обмена содержимое выбранной строки, для этого нажмите правой кнопкой мыши, и из появившегося меню выберите пункт "Copy" или просто Ctrl+C

3. Вы можете скопировать в буфер обмена все содержимое таблицы, для этого нажмите правой кнопкой мыши, и из появившегося меню выберите пункт "Copy all" или просто Shift+Ctrl+C. Содержимое буфера обмена, вы также можете вставить в Excel.