При определении полей таблицы используется вкладка Fields (Поля), позволяющая ввести наименование поля, тип данных, размещаемых в поле, и ширину. При определении числовых полей необходимо также задать количество десятичных знаков.
Помимо основных параметров, в нижней части вкладки Fields (Поля) для каждого поля можно определить дополнительные параметры, которые будут определять условия ввода в него данных, а также краткое описание, которое поможет разработчику при модификации таблицы в процессе создания приложения или его сопровождения.
Ввод наименований полей
Наименования полей таблицы вводятся на вкладке Fields (Поля) в строке ввода столбца Name (Имя). При задании наименований полей вы можете использовать буквы, цифры и знак подчеркивания. Ваши попытки ввести специальные символы Visual FoxPro проигнорирует.
Длина наименования поля ограничивается 128-ю символами. Вряд ли вы воспользуетесь возможностью задавать такие длинные имена. Обычно для имен полей используют краткие названия, которые более наглядны и легко читаемы.
Visual FoxPro не позволяет иметь в таблице поля с одинаковыми именами. При вводе имени, уже имеющегося в таблице, программа выдает предупреждение, указывающее, что поле с таким именем в таблице уже существует.
Типы полей
Поля таблицы предназначены для хранения в них данных. Это могут быть числа, текстовая информация, даты, графические файлы и т. д.
Для определения типа данных, размещаемых в поле, используются тип поля, его ширина и количество знаков после запятой. Для их ввода предназначены столбцы Туре (Тип), Width (Ширина) и Decimal (Десятичные) вкладки Fields (Поля) конструктора таблиц.
В Visual FoxPro допустимыми являются типы полей, указанные в табл. 4.6.
Таблица 4.6. Типы полей Visual FoxPro
Тип | Наименование | Отображаемые данные |
Текстовый | Character, Character (binary) | Текстовые поля могут содержать буквы, цифры и специальные символы. Максимальная ширина поля составляет 254 символа. Тип Character (binary) используется в том случае, если не требуется учитывать кодовую страницу отображаемых данных |
Числовой | Integer, Numeric, Float, Double, Integer (Autolnc) | Integer отображает целые числа от -2147483647 до +2147483647. Тип Integer (Autolnc) используется в том случае, когда необходимо, чтобы значение числа автоматически увеличивалось. Поле с таким типом доступно только для чтения.
Числовые поля типа Numeric и Float отображают данные с фиксированной точкой в диапазоне от -0.9999999999*10+19 до +0.9999999999*10+2°. Тип данных Double используется для хранения данных с высокой точностью в диапазоне от ±4.94065648541247*10-324 до ±8.9884656743115*10+307 |
Денежный | Currency | В поле денежного типа могут содержаться числа от -922337203685477.5807 до 922337203685477.5807 |
Дата | Date | В поле типа Date может содержаться любая дата от 01.01.0001 до 31.12.9999 г. |
Дата и время | DateTime | В поле типа DateTime может содержаться любая дата от 01.01.0001 до 31.12.9999 г. и время от 00:00:00 a.m. до 11:59:59 p.m. |
Логический | Logical | Содержит логическое значение True (Т.) (Истина) или False (,F.) (Ложь) |
Текстовое поле произвольной длины | Memo, Memo (binary) | Memo-поле содержит символьные данные большого объема. Тип Memo (binary) используется в том случае, если не требуется изменять кодовую страницу хранимых данных |
Двоичное поле произвольной длины | General | Поле данного типа предназначено для хранения в таблицах изображений и других двоичных данных |
Задание свойств полей
В правой части вкладки Fields (Поля) конструктора расположены поля, позволяющие задать для каждого поля таблицы свойства, которые будут использоваться при вводе в них данных.
Область Display (Отображение) содержит поля, позволяющие задать форматы ввода и отображения данных (табл. 4.7).
Таблица 4.7. Назначение полей области Display вкладки Fields
Поле | Назначение |
Format (Формат) | Задает формат отображения данных в формах, отчетах и окне Browse |
Input mask (Маска ввода) | Задает формат ввода данных |
Caption (Надпись) | Определяет заголовок поля |
Область Field validation (Проверка правильности ввода) позволяет задать параметры, описанные в табл. 4.8.
Таблица 4.8. Назначение полей области Field validation вкладки Fields
Свойство | Назначение |
Rule (Условие) | Условие правильности ввода данных |
Message (Сообщение) | Сообщение, выводимое при неправильном вводе данных в поле |
Default value (Значение по умолчанию) | Значение, вводимое в поле по умолчанию |
Область Map field type to classes (Используемые типы полей для классов) предназначена для указания библиотеки и имени класса, который будет использоваться для создания объектов при размещении данного поля таблицы в форме (табл. 4.9).
Таблица 4.9. Назначение полей области Map field type to classes вкладки Fields
Поле | Назначение |
Display library (Показывать библиотеку) | Задает местоположение и имя файла библиотеки классов |
Display class (Показывать класс) | Задает имя класса из выбранной библиотеки |
Область Autolncrement (Автоматический инкремент) доступна только для полей таблицы с типом Integer (Autolnc) и позволяет задать параметры, описанные в табл. 4.10.
Таблица 4.10. Назначение полей области Autolncrement вкладки Fields
Поле | Назначение |
Next Value (Начальное значение) | Задает начальное значение поля, имеющего тип Integer (Autolnc) |
Step (Шаг) | Задает число от 1 до 255, на которое будет увеличиваться значение поля |
В текстовом поле Field comment (Комментарий) можно ввести краткое описание поля, которое может потребоваться при последующих модификациях структуры таблицы и сопровождении проекта.
Опция NULL
Для каждого поля вы можете определить признак, разрешающий при вводе данных оставлять это поле пустым. Для этого используется опция NULL в описании поля таблицы.
Более подробно определение свойств полей будет рассмотрено в главе 14.
Назначение кнопок окна конструктора таблицы
Ввод полей в окне конструктора таблицы осуществляется последовательно. После определения всех необходимых параметров первого поля вы переходите на новую строку и вводите информацию для следующего поля таблицы.
На вкладке Fields (Поля) внизу расположены четыре кнопки. Кнопка ОК предназначена для закрытия окна конструктора таблицы и сохранения всех изменений, внесенных в структуру таблицы.
Если вы изменили структуру таблицы, но хотите от этого отказаться, вам необходимо воспользоваться кнопкой Cancel (Отмена).
Для добавления в таблицу нового поля установите курсор на поле, выше которого вы предполагаете разместить новое, и нажмите кнопку Insert (Вставить). Будет добавлена пустая строка, в которую вы можете ввести информацию о новом поле.
Для удаления поля таблицы перейдите на строку с описанием данного поля и нажмите кнопку Delete (Удалить).
Кнопки Insert (Вставить) и Delete (Удалить) на вкладке Indexes (Индексы) позволяют добавлять в таблицу новые индексы и удалять существующие.