Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access проверка на пустое значение

Замечание. В Access различаются понятия пустого значения и строки нулевой длины

В Access различаются понятия пустого значения и строки нулевой длины. Если поле имеет значение Null — пустое, то это означает, что поле не имеет никакого значения. Если значением текстового или МЕМО-поля является строка нулевой длины, то значение этого поля известно — пустая строка. Пустое значение не может быть равно никакому значению, в том числе другому пустому значению, поэтому связывать таблицы по значению Null нельзя. Пустые строки считаются равными друг другу, поэтому по пустым строкам таблицы связывать можно.

Таблица 2.10. Символы форматирования для текстовых и МЕМО-полей

СимволОписание
@Обязательный текстовый символ или пробел
&Необязательный текстовый символ
Преобразует все символы в прописные

Для логических полей свойство Формат(Format) позволяет указать использование встроенных форматов: Истина/Ложь(True/False), Да/Нет(Yes/No) или Вкл/Выкл(On/Off). В Microsoft Access элементом управления, используемым по умолчанию для логических полей, является Флажок(Check Box). При его применении игнорируются встроенные и специальные форматы.

Специальный логический формат может содержать от одного до трех разделов, разделяемых точкой с запятой (;). Первый раздел не влияет на формат логических значений, но символ точки с запятой указать необходимо. Во втором разделе задается строковое выражение, определяющее значение Истина(True), Да (Yes) или Вкл(On), а в третьем — строковое выражение, определяющее значение Ложь(False), Нет (No) или Выкл(Off).

Не разрешается смешивать в одном формате специальные символы, предназначенные для определения числовых форматов, форматов даты/времени и текстовых форматов. Но существует ряд символов форматирования, которые используются для любых типов данных. Эти символы представлены в табл. 2.11.

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

СимволОписание
(Пробел )Выводит пробел как символьную константу, т. е. этот пробел выводится всегда
!Определяет выравнивание символов по левому краю
«ABC»Символы, заключенные в кавычки, считаются символьными константами
*Позволяет заполнить доступное пустое пространство следующим символом
Выводит следующий символ как символьную константу
[цвет]Задает цвет, название которого указано в скобках. Допустимые имена цветов: (Черный) (Black), (Синий) (Blue), (Зеленый) (Green), (Бирюзовый) (Cyan), (Красный) (Red), (Лиловый) (Magenta), (Желтый) (Yellow), (Белый) (White)

Дата добавления: 2015-06-10 ; просмотров: 1131 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Проверка значения поля при заполнении формы в Access

Проблема такая:
Дана таблица, а к ней форма ленточная с полями: Табельный номер, Фамилия, Дата принятия, Дата увольнения.

Как сделать так, чтобы Access проверял (когда заполняешь форму), что поле «Фамилия» не пустое и только потом позволял вводить в «Дата принятия» и так же с полем «Дата увольнения» куда допускается вводить данные только если поле «Дата принятия»заполнено.

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

14 ответов

По-моему вопрос не уместный. confused: 😀

А помоему вполне уместный. Достаточно много языков могут использовать Access в качестве базы данных. Visual Basic далеко не единственный. Топикстартеру лучше всего помогут примеры именно на том языке, на котором он пишет.

Access — не только БД, но и СУБД. )

На вопрос, на чем пишу — использую только то, что входит в MS Office (только Access и VBA)

Читать еще:  Как удалить схему данных в access

Тогда скорее всего тебе действительно нужно поспрашивать в ветке форума связанной с Visual Basic. Или попроси модераторов чтобы они перенесли тему в Visual Basic, чтобы не начинать обсуждение с нуля.

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

Проблема такая:
Дана таблица, а к ней форма ленточная с полями: Табельный номер, Фамилия, Дата принятия, Дата увольнения.

Как сделать так, чтобы Access проверял (когда заполняешь форму), что поле «Фамилия» не пустое и только потом позволял вводить в «Дата принятия» и так же с полем «Дата увольнения» куда допускается вводить данные только если поле «Дата принятия»заполнено.

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

Знаю как это сделать в среде программирования, вобщем я програмирую на Visual Basic 6, там когда подключаешь базу данных, можно написать код, который будет отслежывать это событие. Если надо по подробнее пиши.

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

Пытался установить фокус, потом получить данные и проверить — не получилось, пытался вместо «Text» использовать «Value» — не получилось тоже.

Может я чего не так делал, не знаю, Access впервые открыл только месяц назад. У меня help на английском, книг нет, тяжело разобраться.
Может кто знает, где скачать можно русский help к Access-у?

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

Пытался установить фокус, потом получить данные и проверить — не получилось, пытался вместо «Text» использовать «Value» — не получилось тоже.

Может я чего не так делал, не знаю, Access впервые открыл только месяц назад. У меня help на английском, книг нет, тяжело разобраться.
Может кто знает, где скачать можно русский help к Access-у?

Сорри, согрешил. )
Недостаточно внимательно отнесся к твоему посту.
Вот пример..
Как сказала OlgaKr установи в конструкторе таблицы:
1) «Обязателльное поле = Да»
2) «Пустые значения = Нет»
Обработчик ‘повесь’ на форму..
Вот примерчик:

Спасибо большое. А надо было всего лишь обработку событий в самой форме сделать!
Тогда следующий вопрос:

Вот такая ленточная форма:
Код типа транспорта|Номер маршрута|Длина маршрута|Табельный номер водителя|Дата выхода|Дата возвращения

Нужно сделать так:
Если если есть одна запись с табельным номером, допустим, 1
и вводится вторая, уже другая запись с таким же табельным номером, то надо проверить, чтобы промежуток между датами не перекрывался (чтобы 1 и тот же рабочий (одинаковый табельный номер) не мог выполнять 2 работы в одно время)?

Т.е., чтобы проверялись условия:
Дата_выхода_2>Дата_возвращения_1 or Дата_возвращения_2

Контроль и проверка введенных данных

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

  • условия на значение поля;
  • условия на значения записи.
Читать еще:  Открыть access онлайн

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

Условие на значение поля позволяет обеспечить ввод корректных данных в поле записи. Проверка введенного значения осуществляется при переходе к другому полю или другой записи. Если введенное значение не соответствует заданному условию, на экран выводится сообщение, указанное пользователем, или стандартное сообщение, если пользователь не определил свое. Чтобы определить условие на значение поля, необходимо:

  1. Открыть таблицу в режиме Конструктора.
  2. В верхней части окна выбрать нужное поле.
  3. Открыть на панели свойств поля вкладку Общие (General) и выбрать свойство Условие на значение (Validation Rule), а затем ввести необходимое условие. Задать условие на значение можно при помощи Построителя выражений (рис. 2.35), нажав на кнопку Построителя справа. Выражения, используемые в условиях, возвращают значения Истина (True), и в этом случае данные корректны, или Ложь (False) — данные некорректны. Одним из самых простых выражений, которое может встретиться в условии, является > 0, т. е. в поле могут вводиться только положительные числа. Для ввода более сложных выражений нужно знать правила построения выражений в Access. Эти правила, а также правила пользования Построителем выражений, подробно изложены в разд. «Создание выражений с помощью Построителя выражений» в гл. 4.
  4. Выбрать свойство Сообщение об ошибке (Validation Text) и ввести сообщение, которое будет выводиться на экран, если данные не соответствуют заданному условию.

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

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

Условия на значение записи отличаются от условий на значение поля тем, что в условиях на значение записи допускаются ссылки на разные поля. Это позволяет использовать такие условия для сравнения значений, введенных в разные поля таблицы. Условия на значение записи проверяются при сохранении записи. Чтобы определить условие на значение записи, необходимо:

  1. Открыть таблицу в режиме Конструктора.
  2. Нажать на панели инструментов Конструктор таблиц (Table Design) кнопку Свойства (Properties) или, щелкнув правой кнопкой мыши по заголовку таблицы, выбрать из контекстного меню команду Свойства (Properties). Откроется диалоговое окно Свойства таблицы (Table Properties).
  3. Третья строка в этом окне — Условие на значение (Val >
    Рис. 2.36. Ввод условия с помощью Построителя выражений

Выделите в списке значение ДатаИсполнения и нажмите на кнопку Вставить (Paste) или просто дважды щелкните мышью по этому элементу. В верхнем поле окна Построителя появится имя поля в квадратных скобках. Нажмите кнопку >. Аналогичным способом выберите из списка элемент ДатаРазмещения. В результате в верхнем поле появится выражение [ДатаРазмещения] > [ДатаИсполнения]. Нажмите кнопку ОК.

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

Для таблицы можно указать только одно выражение, определяющее условия на значения. Если же необходимо наложить более одного условия, то в ячейке свойства Условие на значение (Validation Rule) выражения можно объединить при помощи оператора And.

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

Значение поля может оказаться недопустимым по следующим причинам.

  • Значение несовместимо с типом данных поля (например, в числовых и текстовых полях или в поле даты). Если введено значение, не соответствующее типу данных поля, Microsoft Access пытается преобразовать его в правильный тип данных. Однако некоторые данные нельзя преобразовать в данные другого типа. Например, нельзя хранить текстовое значение в числовом поле.
  • Данные нарушают условие на значение, заданное в свойстве Условие на значение (Validation Rule) этого поля.
  • В поле необходимо ввести данные, а они не были введены.

Данные проверяются также при переходе на другую запись. Перед сохранением записи Microsoft Access проверяет все условия, заданные в свойстве Условие на значение (Validation Rule) записи. Кроме того, если таблица, в которую вносятся изменения, имеет ключ или уникальный индекс, то проверяется, что изменяемая запись не содержит в этом поле или полях значений, совпадающих со значениями в других записях таблицы. Если запись нельзя сохранить, необходимо внести требуемые изменения или нажать кнопку Отменить (Undo) для отмены всех изменений, внесенных в запись.

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

  1. Выбрать записи, столбцы, поля или часть текста поля, в которых требуется проверить орфографию.
  2. Нажать на кнопку Орфография (Spelling) на панели инструментов.

Кроме проверки орфографии, в Microsoft Access возможно автоматическое исправление орфографических ошибок при вводе данных. Для этого служит режим Автозамены (AutoCorrect), который позволяет автоматически исправлять слова, при вводе которых часто допускаются ошибки, а также автоматически заменять сокращения полными значениями. То есть можно ввести аббревиатуру, а Автозамена сама подставит расшифрованное наименование в поле. Чтобы включить режим Автозамены (AutoCorrect) необходимо:

  1. Выбрать в меню Сервис (Tools) команду Параметры автозамены (AutoCorrect Options) (рис. 2.37).
  2. Установить флажок Заменять при вводе (Replace text as you type).
  3. В поле Заменять (Replace) ввести образец, который должен заменяться автоматически.
  4. В поле на (With) ввести текст, который подставляется вместо образца.
  5. Нажать кнопку Добавить (Add).

Текст, введенный до установки флажка Заменять при вводе (Replace text as you type), исправлен не будет.

Ссылка на основную публикацию
Adblock
detector