Какие ограничения накладываются на свойство имя поля
antoniony Откуда: Запорожье | Здравствуйте друзья! создал базу с динмамическим добавлением полей в формы, отчеты и т.д. самими юзерами. Все прекрасно только при указании имя поля не все поля успешно создаются. Юзер то знак какой-то поставит (система пишет «нарушено соглашение об именах и.т.п.»), то теперь еще что-то. Я думаю, что и длину слишком большую задают. Очень хочется поставить проверку на все это, только не знаю какие ограничения существуют на имена полей. Подскажите пож-та. |
Ильин Сергей Юрьевич Откуда: |
Справка Access. |
Allll Откуда: |
А чем была вызвана необходимость такого динамического добавления полей в формы и отчёты? Кто будет отвечатьза правильность работы такой формы и отчёта — Вы или пользователь? |
antoniony Откуда: Запорожье |
Я, конечно. По-этому и хочу поставить проверку на имена. А необходимость ваызвана постоянным требованием клиента добавить то то, то это. А так сам добавляет. В главное меню вывел кнопку «Добавить элемент» и кнопку «Удалить элемент» и клиент сам ваяет свою базу. Создается 4 типа поля (текст, число, дата, справочник). Очень удобная, гибкая база. |
Andres 1 Откуда: Эстония |
Жжуть-то какая. Предложение — пусть пользователь вводит что хочет. Поля именуйте в коде, например, как «usrfld1», «usrfld2», etc. |
Gasan Откуда: | избегай дефисов. Помучился я с ними. [Forms]![Имя]![что-то].SetFocus, например, работать не будет |
antoniony Откуда: Запорожье |
Так в моем кейсе не получится, т.к. удаление элементов то же пользователем. Ему предлагается список всех имен полей, он выбирает, это имя заносится в переменную и идет поиск полей, лейблов, кнопок, форм-справочников с этим именем. Например он создал «Проволока» с типом поля «справочник». Поле будет называться «Проволока», к нему надпись «Проволока_Надпись» и к ним справочник таблица «Проволока», а на нее форма с табличным видом и кучей функций «Проволока». А при удалении клиент выбирает «Проволока» и далее понятно, что очень легко удалить таблицы, формы, поля, надписиси с этим именем, а иначе анриал 3-я часть. |
antoniony Откуда: Запорожье | Благодаря Allll — у создал проверку на имя и его длину и все заработало как никогда (при ошибке выдает ругательное сообщение и переводит фокус обратно на контрол с именем). Спасиба. |
antoniony Откуда: Запорожье | 2 Andres 1 . Щас только понял что так можно (погарячился немного в ответе), как предложили, вставляя в Caption, но тогда поиск сделать по Caption-у, а не по Name, как у меня и все. Неплохой вариант, надо попробовать. |
Ссылка на сообщение
Ссылка (включая название темы)
Ссылка (URL)
x
При задании имен полей таблиц, а также объектов базы данных и других элементов управления необходимо учесть действующие в MS Access ограничения на имена полей и объектов:
· имя должно содержать не более 64 знаков;
· имя может включать любую комбинацию букв, цифр, пробелов и специальных знаков за исключением точки (.), восклицательного знака (!), надстрочного знака (`) и квадратных скобок ([ ]);
· не должно начинаться с знака пробела;
· не должно включать управляющие знаки (с кодами ASCII от 0 до 31);
· не должно включать прямые кавычки («) в именах таблиц, представлений и сохраненных процедур в проекте Microsoft Access.
Хотя пробелы внутри имен полей, элементов управления и объектов являются допустимыми, в большинстве примеров в документации Microsoft Access имена полей записываются без пробелов. Пробелы в именах могут, при некоторых обстоятельствах, вызывать конфликты в программах Microsoft Visual Basic для приложений.
Тип данных и свойства поля
После определения имени поля необходимо выбрать для него тип данных. Тип данных определяет значения, которые можно сохранять в этом поле.
Тип данных для конкретного поля выбирается в зависимости от того, какая информация там будет располагаться. Допустимы следующие значения свойства Тип данных.
ТИП ДАННЫХ | ХРАНИМЫЕ ДАННЫЕ | ОГРАНИЧЕНИЯ |
Текстовый | Алфавитно-цифровые данные (текст и числа) | Может храниться до 255 знаков. |
Поле МЕМО | Алфавитно-цифровые данные (текст и числа) | Может храниться до 2 ГБ данных (предельный размер для всех баз данных Access) при программном заполнении полей. |
Числовой | Числовые данные | В полях с типом данных «Числовой» используется параметр Список полей, управляющий размером значения, которое может содержать поле. |
Дата/время | Значения даты и времени | Приложение Access хранит все значения даты и времени в виде 8-байтовых целых чисел с двойной точностью. |
Денежный | Денежные данные | Данные хранятся в виде 8-байтовых чисел с точностью до четырех знаков после запятой. Этот тип данных используется для хранения финансовых данных и в тех случаях, когда значения не должны округляться. |
Счетчик | Уникальные значения, создаваемые приложением Access при введении новой записи | Данные хранятся в виде 4-байтовых значений; обычно используются в первичных ключах. |
Логический | Логические данные («истина» или «ложь») | Используется 1 для всех значений «Да» и 0 для всех значений «Нет». |
Поле объекта OLE | Изображения, документы, диаграммы и другие объекты из приложений Office и других программ Windows. | Может храниться до 2 ГБ данных (предельный размер для всех баз данных Access). Поля с типом данных «Поле объекта OLE» создают растровые изображения исходных документов или других объектов, а затем отображают их в полях таблиц и элементах управления форм или отчетов в базе данных. |
Гиперссылка | Веб-адреса | Может храниться до 1 гигабайта данных. |
Вложение | Файлы любого поддерживаемого типа | В записи базы данных можно вкладывать изображения, файлы электронных таблиц, документы, диаграммы и другие файлы поддерживаемых типов точно так же, как в сообщения электронной почты. |
При выборе типа данных конкретного поля таблицы необходимо учесть следующее:
· какие именно значения должны храниться в поле (например, нельзя хранить текст в поле, имеющем числовой тип данных);
· сколько места необходимо для хранения значений в поле, т.е. определить размер этого поля;
· будут ли над значениями в поле производиться вычисления (например, нельзя суммировать значения в текстовых и MEMO полях);
· нужно ли создавать индекс по этому полю для ускорения операций поиска и сортировки (невозможно индексирование полей со следующими типами данных: поле MEMO, гиперссылка, поле объектаOLE);
· нужно ли производить сортировку значений в поле (например, числа в текстовых полях сортируются как строки цифр (1, 10, 100, 2, 20, 200 и т.д.), а не как числовые значения; для корректной сортировки значений дат в разных форматах необходимо использовать тип данных дата/время).
После выбора типа данных можно определить дополнительные свойства для поля таблицы. Задаваемые для поля дополнительные свойствапозволяют настроить способ хранения, обработки и отображения данных этого поля. Набор свойств меняется в зависимости от выбранного типа данных, причем некоторые из этих свойств устанавливаются по умолчанию.
СВОЙСТВО ПОЛЯ | ТИП ДАННЫХ | ПРИМЕНЕНИЕ СВОЙСТВА |
Размер поля | Текстовый Числовой Счетчик | Задание максимального размера для данных, хранящихся в поле с типом данных «Текстовый», «Числовой» или «Счетчик». |
Формат поля | Текстовый Поле МЕМО Числовой Дата/время Денежный Счетчик Логический Гиперссылка | Настройка отображения поля по умолчанию на экране и при печати. |
Число десятичных знаков | Числовой Денежный | Задание числа десятичных знаков, используемых при отображении чисел. |
Новые значения | Счетчик | Указывает, какие значения (последовательные или случайные) присваиваются полю «Счетчик» при добавлении новой записи. |
Маска ввода | Текстовый Числовой Дата/время Денежный | Символы редактирования, определяющие способы ввода данных. |
Подпись | Все типы данных | Текст, отображаемый по умолчанию в качестве подписи в формах, отчетах и запросах. |
Значение по умолчанию | Текстовый Поле МЕМО Числовой Дата/время Денежный Логический Гиперссылка | Значение, автоматически назначаемое полю при добавлении новой записи. |
Условие на значение | Текстовый Поле МЕМО Числовой Дата/время Денежный Логический Гиперссылка | Выражение, значение которого должно быть истинно при добавлении или изменении значения поля. |
Текст для проверки | Текстовый Поле МЕМО Числовой Дата/время Денежный Логический Гиперссылка | Текст, появляющийся при вводе значения, при котором нарушается условие, указанное в поле Условие на значение. |
Обязательное поле | Все типы данных, кроме «Счетчик» | Указывает, должно ли это поле содержать значение в каждой записи. |
Пустые строки | Текстовый Поле МЕМО Гиперссылка | Разрешает (установкой значения Да) ввод строки нулевой длины («») в текстовое поле и в поле МЕМО. |
Индексация | Текстовый Поле МЕМО Числовой Дата/время Денежный Счетчик Логический Гиперссылка | Посредством создания и использования индекса ускоряет доступ к этому полю для чтения. |
Сжатие Юникод | Текстовый Поле МЕМО Гиперссылка | Выполняется сжатие данных, содержащихся в этом поле, если в нем менее 4096 символов |
Режим IME | Текстовый Поле МЕМО Дата/время Гиперссылка | Управление преобразованием символов в восточноазиатских версиях Windows. |
Режим предложений IME | Текстовый Поле МЕМО Дата/время Гиперссылка | Управление преобразованием предложений в восточноазиатских версиях Windows. |
Смарт-теги | Текстовый Поле МЕМО Числовой Дата/время Денежный Счетчик Гиперссылка | Позволяет выбрать смарт-теги, применяемые к полю. |
Только добавление | Поле МЕМО Гиперссылка | Когда для свойства задано значение Да, ведется журнал значения поля. |
Формат текста | Поле МЕМО | Для хранения данных в виде HTML-кода и использования RTF-форматирования следует выбрать значение Формат RTF. Чтобы хранить только текст без форматирования, следует выбрать значение Обычный текст. |
Выравнивание текста | Все типы данных, кроме «Вложение» | Выравнивание текста по умолчанию в элементе управления. |
Отображать элемент выбора даты | Дата/время | Указывает, должен ли в приложении Access отображаться элемент выбора даты (элемент управления «Календарь»), когда пользователь изменяет значение поля. |
Маска ввода
Свойством формат определяется формат представления данных при выводе на экран или печать, а свойством маска ввода – определяется образец для всех данных, которые вводятся в это поле, что позволяет контролировать правильность данных при вводе. Однако формат поля влияет только на отображение введенного значения и применяется только после сохранения введенных данных. Если же вводом данных в поле необходимо управлять, в дополнение к формату поля (или же вместо него) следует использовать маску ввода.
Маска ввода позволяет управлять вводом данных в поле. Например, ее можно использовать для преобразования вводимых символов к нужному регистру или же для автоматического добавления скобок и дефиса к номерам телефонов. Чаще всего маски ввода используются для текстовых полей, полей даты/времени, а также для числовых и денежных полей.
Маска ввода отображается в поле таблицы в виде символов шаблона(или знаков заполнителя) и текстовых символов. Символ шаблонаиспользуется для отображения пустых позиций в маске ввода, в которые помещаются вводимые пользователем символы.
Например, маска ввода для поля Рабочий телефон таблицы может выглядеть следующим образом: (__) — ____. В качестве символа шаблона в данном случае используется знак подчеркивания (_), скобки и дефис — постоянные символы маски. Подобная маска ввода требует, чтобы все вводимые телефонные номера состояли только из цифр, причем маска позволяет контролировать их количество (количество введенных цифр должно составлять полный номер телефона: код города и номер абонента). В результате пользователю остается только заполнить поля. Данные при этом вводятся на место символов шаблона.
Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
СУБД — аббревиатура, расшифровывающаяся как «система управления базами данных». СУБД используется для многопользовательской работы с базами данных, которые, в свою очередь, помогают хранить, систематизировать, классифицировать и контролировать информацию. Системы управления БД разделяются на виды по признаку типов моделей данных, которые ими поддерживаются. Наиболее практичен реляционный вид, поскольку такие системы просты в использовании и предоставляют многие возможности для разработчиков. К нему, в числе прочих, относится СУБД Access.
Общие сведения
Реляционная СУБД Microsoft Access работает, соответственно, с реляционными базами данных. В общем виде это означает множество взаимосвязанных таблиц, каждая из которых содержит данные своего типа.
СУБД MS Access входит в состав программного обеспечения Microsoft Office.
Возможности
СУБД Access предоставляет пользователю следующие возможности:
создавать базы данных;
добавлять новую информацию в созданные БД;
обновлять или каким-либо еще образом изменять данные в БД;
удалять имеющуюся информацию из БД;
осуществлять просмотр данных в виде отчетов, форм, различных выборок и запросов;
организация данных при помощи сортировки и/или классификации информации;
общий доступ к таблицам и данным при использовании отчетов, электронных писем, Интернета и/или локальной сети;
осуществление разных видов связей между таблицами;
создание кнопочных форм и пользовательских интерфейсов управления базой данных внутри СУБД.
Структурные элементы БД
Каждая таблица базы данных имеет строки, включающие данные об объектах, а также столбцы, задача которых — определить характеристику их же. Другое название строк — записи, состоящие из полей, которые заполняются данными. Поле обязательно должно иметь тип данных (числовой, текстовой, дата, МЕМО и т. д.). Все записи в таблице содержат одинаково определенные, но по-разному заполненные информацией поля.
Свойства полей
Поля в СУБД MS Access задают структуру базы данных, а также задают свойства данным из ячеек записей.
Основные свойства такие:
Имя поля. Обычно задают заголовки столбцам, то есть называют характеристику объекта. Также по имени поля к нему можно обращаться за информацией при выполнении автоматических операций с БД.
Тип данных. Задает соответствующее свойство, определяет, какой тип может быть записан в ячейку.
Размер. Устанавливает максимальную длину записываемых данных. Это свойство не обязательно использовать, хотя оно и упрощает работу, накладывая ограничения на пользователя БД.
Формат. Форматирует данные поля.
Подпись. Выполняет ту же функцию, что и имя — озаглавливая характеристику. Если подпись не указывать, заглавием будет служить первый пункт. Второй возможностью Имени — обращением к нему из БД — подпись не располагает.
Обязательное поле. Если поставить галочку напротив этого свойства, оставить ячейку незаполненной будет нельзя. Для ключевых полей это свойство включено по умолчанию.
Типы данных
Поля баз данных в Microsoft Access могут иметь такие типы данных, как:
Текстовый. Самый простой тип поля. Несмотря на название, может содержать как буквы, так и цифры, символы и прочее. Поэтому ограничения имеет только по длине — не более 255 знаков. Удобно для использования, если не требуется дальнейших расчетов между ячейками, поэтому, если в поле вводятся только числа, лучше использовать соответствующий ему тип.
Поле МЕМО. Тот же текстовый тип, хранящий большие объемы информации (до 64 кбайт, то есть до 64 тысяч символов). Из-за этой характеристики МЕМО не может быть использован в качестве ключа или индекса.
Числовой. Цифровое поле, имеющее подтипы, выбор которых зависит от желаемой точности вычислений и т. д. До 8 байт или 16 — для кодов репликации.
Счетчик. Поле, не требующее заполнения — значения (числа по возрастанию), автоматически заносится в таблицу, позволяя данным в ячейках оставаться уникальными. Проще говоря, счетчик нумерует записи в базе данных. Удобно использовать в качестве ключа 4 байта, 16 — для кодов репликации.
Логический. Используется только для значения — 0 (нет) и минус 1 (да). Можно настроить разные варианты записи — галочка или выбор вручную (размер — 1 байт).
Дата/время. Название типа данных говорит само за себя. Вывод в поле данных возможен в семи различных форматах. 8 байт.
Денежный. Определяет значения валют. Данный тип данных появился для предотвращения округления в вычислениях. Также 8 байт.
Поле объекта OLE. Принимает объекты разных форматов — графические, аудио и т. д. Размер — до одного гигабайта.
Гиперссылка. Адреса интернет-страниц, сайтов. До 64 тыс. символов.
- Мастер подстановок. Заранее предполагает связанные таблицы. Позволяет выбрать значение из другой таблицы или из поля со списком. При этом тип выбранного значения устанавливается автоматически. Имеет размер первичного ключа. Не более 4 байт.
Ключи
Базы данных СУБД MS Access имеют в таблицах одно главное — ключевое — поле. По умолчанию оно, как уже было сказано, обязательно к заполнению. Кроме того, на него накладывается необходимость быть уникальным, что значит, что уже введенное значение в ключевом поле нельзя будет ввести в ключевом поле другой записи этой же таблицы. При необходимости можно добавить дополнительное ключевое поле, с менее строгими правилами — уникальность выбирается разработчиком БД. При помощи ключевых полей осуществляют связи между таблицами базы данных.
Ключи подразделяются на:
первичные (основные) — непосредственно сама связь;
вторичные (внешние) — способ связи.
Табличные связи
База данных СУБД Access может содержать таблицы, которые взаимодействуют между собой. Для этого используются связи, которые бывают следующих видов:
Один к одному. Это означает, что каждой записи из первой связанной таблицы соответствует одна запись из второй.
Один к многим. Каждой записи из первой таблицы соответствует несколько (две или больше) из второй.
Многие к одному. Множество записей из первой таблицы связаны с одной из второй.
Многие к многим. Множеству записей первой таблицы соответствует множество второй.
Ограничения на имена
Microsoft Access ставит ограничения на имена полей и элементов управления, они же действуют и на объекты СУБД Access:
имя не должно содержать более 64 символов;
нельзя использовать точку, восклицательный знак, надстрочный символ или квадратные скобки;
имя не может начинаться с пробела;
нельзя использовать в имени управляющие символы (коды с 0 до 31 в ASCII);
имя не может включать прямые кавычки.
Объекты
Объекты СУБД MS Access представляют собой пользовательский интерфейс базы данных. Он позволяет непосредственно управлять ею и ее данными.
Таблицы
Основной объект, о котором уже не раз упоминалось в этой статье. Они задают структуру всей базы данных. В них хранятся данные, которые можно изменять, удалять или добавлять. Таблицы могут быть взаимосвязаны. На основе этого объекта строятся все остальные, при помощи них же проводятся и основные операции с данными.
Запросы
Позволяют обрабатывать данные из таблиц. Запрос может быть выборкой по какому-либо признаку из одной или нескольких таблиц, также при помощи него можно сортировать или фильтровать информацию, анализировать данные, извлекать и предоставлять пользователю в удобном виде. Результатом работы запроса становится временная новая таблица.
Формы
Используются в качестве средства для ввода новой информации в таблицу. Преимуществом форм становится их удобный для пользователя вид — разработчик может использовать макет формы или создать совершенно новую. На этот объект можно поместить кнопки, переключатели и многое другое. В числе прочих особое внимание приковывает к себе кнопочная форма, представляющая собой модифицированный диспетчер задач, составляемый пользователем “под себя”. На нее можно поместить основные функции работы с базой данных — вход, выход, заполнение таблиц, просмотр данных. Обычные формы можно также включить в кнопочную.
Отчеты
Представляют конечный результат работы. Предназначены для последующей печати, потому обладают соответствующим форматированием. Позволяют делать выборки и группировки. Наглядно отражают информацию, заложенную в базе данных.
Технология работы с СУБД Access
Разработка СУБД в Access выполняется при помощи следующих пунктов:
Определить цель разработки базы данных. Необходимо определить назначение, узнать, в каком направлении двигаться — как предполагают использовать базу данных, какие результаты хотят получить, какие функции должны быть реализованы.
Определить примерное количество таблиц в базе данных — информацию необходимо систематизировать и “разложить все по полочкам”. Не следует добавлять слишком много полей в одну таблицу: лучше распределить данные на две и связать их. Каждая таблица должна содержать только одну тему.
Определить все поля и их типы данных в таблицах. Данные в ячейках должны соответствовать типам, чтобы в дальнейшем не возникло проблем с вычислениями, группировкой и сортировкой.
Определить соотношения таблицы-поля.
Обозначить первичные и (при необходимости) вторичные ключи в таблицах.
Построить схему данных для БД, отражающую связи между таблицами. Максимизировать взаимодействие между данными при помощи этих связей.
Усовершенствовать структуру, наглядно посмотрев на всю имеющуюся информацию и ее возможную систематизацию.
Воспользоваться анализом самого Access для очередной проверки.
Создание СУБД в Access возможно двумя способами:
использовать мастера БД для создания необходимых объектов;
создать пустую БД, дополняя ее новыми объектами самостоятельно.
MS Access позволяет расширить базу данных уже после ее создания, но основную структуру необходимо продумать заранее: такие вещи, как типы данных, впоследствии, особенно после заполнения таблицы, поменять будет невозможно.
Продуманную схему данных можно реализовать при помощи соответствующей вкладки в СУБД. Каждый из видов связи наглядно показывается в Access. Связи можно видоизменять или даже удалять.