- •Настройка vfp
- •Состав vfp
- •Закрытие vfp
- •Создание таблиц
- •Создание таблицы в Мастере
- •Типы данных
- •Работа с таблицей
- •Введение данных в поля типа Memo и General
- •Структура команд sql
- •Создание таблицы в конструкторе
- •Создание таблицы командами sql
- •Удаление данных из таблицы
- •Поиск данных вне индексированной таблицы
- •Навигация по таблице
- •Индексы. Индексирование таблиц.
- •Создание индекса
- •Связи между таблицами
- •Поиск данных в индексированной таблице
- •Сортировка данных в таблице
- •Фильтрация данных
- •Установка фильтра по строкам
- •Запуск формы
- •Поиск данных средствами формы
- •Создание программного файла
- •Работа с переменными
- •Сохранение и восстановление переменных
- •Просмотр переменных
- •Типы переменных
- •Функции vfp
- •Математические функции
- •Функции даты и времени
- •Функции для работы с таблицей
- •Функции преобразования типов данных
- •Запросы к бд
- •Создание запроса мастером
- •Создание запроса по 2 таблицам средствами мастера
- •Создание запроса в конструкторе
- •Запрос в конструкторе по 2 таблицам
- •Создание отчета по 1 таблице в мастере
- •Создание отчетов в конструкторе
- •Файл проекта
- •Создание проекта в мастере
- •Создание меню
- •Организация интерфейса с пользователем
- •Модификация формы в конструкторе
- •Работа с окнами
- •События и методы
- •Обеспечение целостности и безопасности бд
- •Нормализация таблиц
Функции даты и времени
?DATE() – выводит дату.
?DOW() – день недели. Выводится номер дня недели.
?CDOW() – день недели буквами.
?MONTH() – выводит номер месяц.
?CMONTH() – выводит месяц буквами.
?YEAR() – выводит год.
?DAY() – выводит день.
?TIME() – выводит время.
?DATETIME() – выводит дату и время.
Можно вывод результата действия функции объединить с выводом текста, например ?‘сегодня’,date().
Например можно вывести ?’Через 100 дней будет’, date()+100
Функции для работы с таблицей
?DBF() – возвращает к таблице, открытой в рабочей зоне
?Alias – возвращает имя таблицы
?EOF() – возвращает ответ, находится ли ответ на конце файла
?BOF() – находится ли курсор на 1 записи
?FCOUNT() – возвращает число полей в таблице
?RECCOUNT – число строк
?ISREADONLY – отвечает на вопрос, можно ли вносить изменения в таблицу.
?CPCURRENTLY – возвращает номер кодовой страницы к таблице.
Функции преобразования типов данных
Используются например при создании сложного индекса. В выражении (Expression) для сложного индекса все данные должны быть одного типа, например если нужно создать индекс по полю фамилия и по полю дата рождения, потребуется формат даты преобразовать в символьный.
STR(<выражение 1>,[<2>,<3>]) – преобразует числовое выражение n1 в символьную строку, где n2 общая длина после преобразования, включая десятичный знак, а n3 - число десятичных знаков.
Пример STR(5,536456456,5,3)
Если дополнительные параметры не указаны происходит округление до целого числа.
?DTOC() – преобразует дату в символьный тип данных.
?CTOD() – преобразует символьный тип данных в дату.
Запросы к бд
Запрос позволяет извлечь из одной или нескольких таблиц данные, которые нас интересуют. Перед созданием запроса нужно хорошо представлять, что мы хотим найти, где это содержится и существует ли искомое вообще.
Создание запроса мастером
File – New – Query – Wizard – Query wizard – шаг1 (отбираем поля) – шаг2 (используется в запросах по нескольким таблицам) – шаг3 ( условие отбора записей, которые будут отображены в результатах запроса). На этом шаге можно выполнить предварительный просмотр результатов запроса – шаг4 (сортировка записей). Возможно, если по полю, выбранному для сортировки в таблице существует индекс – шаг5 (ФИНИШ). Запуск запроса осуществляется через Program – DO!. Если таблица изменилась, то изменятся и результаты запроса. Следовательно при создании БД нужно создавать стандартные запросы для наиболее частых требований информации.
Создание запроса по 2 таблицам средствами мастера
Запрос создается почти также как по 1 таблице, но добавляется шаг 2, на котором выбирается способ объединения таблиц.
Существует 4 способа объединения. Чаще всего используется самое строгое (INNER join – внутреннее объединение). Будут отобраны только те строки, для которых в обоих таблицах найдено соответствие. Самое слабое требование (Full join – полное объединение). Будут показаны все строки, отвечающие поставленному условию. LEFT OUTER join и RIGHT outer join – левое и правое внешнее объединение. Будут показаны все строчки из левой таблицы, а из правой - отвечающие только поставленные условия.
На шаге 2 нужно выбрать поле, по которому таблицы будут объединены. Рекомендуется выбирать из таблиц те поля, по которым они связаны в базе данных. Выбрав поля нажимаем кнопку Add и переходим к шагу 2а.