Можете ли вы установить свойство MaxLength или добавить ограничение на количество символов в поле Access Long Text? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть форма доступа, которую я создал для пользователей. Форма связана с таблицей Access, а не с связанной таблицей, потому что несколько пользователей должны будут обновить эту форму и связанную таблицу одновременно, и я продолжал сталкиваться с ошибками параллелизма при использовании связанной таблицы. В подключенной таблице было множество коротких текстовых полей, и я добавил ограничение на количество символов там, где это необходимо.

Пользователи начинают работать с выделенным размером записи (потому что у нас около 30 полей), поэтому они получат " «Запись слишком большая», и это заблокирует их запись, и мне придется исправить всю базу данных Access, поскольку она не позволит мне удалить или изменить заблокированную запись. Чтобы обойти это, я сделал некоторые текстовые поля длинными текстовыми полями. Однако мне все еще нужно установить ограничение на количество символов, потому что их записи в форме и подключенной таблице отправляются на информационные панели, которые имеют установленное количество символов, которое будет соответствовать информационной панели.

Я уже добавил код для отображения количество символов и ограничение пользователей (т. е. используются 230/250 символов). Но, поскольку я изменил текстовые поля на Длинный текст, я больше не могу устанавливать ограничение на количество символов, как это было бы с короткими текстовыми полями. Я пытался добавить свойство MaxLength к полям с длинным текстом, но это не работает.

Кто-нибудь знает, как я могу добавить ограничение на количество символов в поле с длинным текстом, не изменяя его на поле с коротким текстом?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 19 июля 2020

Зачем использовать длинный текст, если ваши ответы ограничены 250 символами --- это максимальная длина короткого текста? Я согласен с тем, что 30 полей - это довольно много для одной таблицы - не редкость, но редкость. Обзор структуры вашей базы данных может выявить скрытые сущности, поэтому нормализация может быть в порядке.

0 голосов
/ 19 июля 2020

Если вы хотите установить ограничение на уровне таблицы, вы можете использовать макрос «Перед изменением» :

введите описание изображения здесь

0 голосов
/ 14 июля 2020

Вы можете установить лимит ввода в своей форме. Используя событие Form.BeforeUpdate, вы можете захватывать ввод до того, как он будет записан в базу данных. Здесь вы можете отменить обновление и показать пользователю сообщение об ошибке, объясняющее причину.

30 Поля слишком длинные для одной таблицы. Вам нужно исследовать нормализацию базы данных. Разделение таблиц на более мелкие логические объекты имеет много улучшений, одно из которых состоит в том, что у вас не будет этих проблем.

...