powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Знаки пунктуации в условии на значение
14 сообщений из 14, страница 1 из 1
Знаки пунктуации в условии на значение
    #39913342
edward_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, коллеги!
Создаю БД для учебного заведения.
Прототип делаю в Access, но с перспективой переезда на MS SQL сервер.
Возникла проблема - в текстовом поле описания профессии применяются русские буквы, знаки препинания и ДВОЙНЫЕ КАВЫЧКИ.
Проблему русских букв и знаков пунктуации решил выражением Not Like "*[!0-9 а-я,.; :]*" в Validation rules поля таблицы.
Проблему кавычек никак не могу решить, как разрешить ввод символа "?
Если экранирую символ " аналогичными, access ругается на синтаксис строки проверки.
Была мысль заменить двойные кавычки одинарными - руководитель против.
Как можно разрешить ввод двойных кавычек в поле таблицы?
Ограничение надо установить на уровне столбца таблицы, т.к. неизвестно, на каком языке будет написан интерфейс к БД.
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913397
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так:
Код: vbnet
1.
Like "[0-9 а-я!,.;:""]*"
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913457
edward_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, Akina за ответ.
Самое интересное, что пытался проделать то же самое ранее. Но, видимо, звезды не так расположились ...
Сжал БД и повторил еще раз - все получилось.
Теперь возник другой вопрос - кавычек бывает несколько типов ", «, верхние и нижние и т.д. Осталось решить, как при копи-пасте защититься от них и приводить все к единому знаменателю.
Еще раз спасибо за ответ!
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913463
edward_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с еще одной проблемой в этом выражении.
Надо было добавить знак тире -
Access упорно ругался на него, решилось заключением символа тире в квадратные скобки [-].
Видимо, access считал этот символ как указатель множества. А заключение его в квадратные скобки экранировало его.
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913470
edward_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получился фокус :(
После этого стали пролезать английские буквы.
Пока решилось перемещение тире в самую последнюю позицию. Итоговый вариант стал
Not Like "*[!0-9а-я, :""-]*"
Теперь осталось научиться писать многострочные сообщения об ошибках типа:
"Введен неверный символ"
"Допускаются символы (такие-то)"
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913504
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тире в маске - служебный символ диапазона (Вы же его используете!). Так что помещение его в конец списка допустимых символов - самое простое из правильных решений.
edward_sh
кавычек бывает несколько типов ", «, верхние и нижние и т.д.
Ну их придётся разрешить - внести в список допустимых символов. А уже после ввода - выполнять нормализацию (тупо Replace).
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913505
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
edward_sh
осталось научиться писать многострочные сообщения об ошибках типа:
"Введен неверный символ"
"Допускаются символы (такие-то)"


Код: vbnet
1.
MsgBox "Введен неверный символ" & vbNewLine & "Допускаются символы (такие-то)"
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913509
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
edward_sh
А заключение его в квадратные скобки экранировало его.

Нет. Если нужно указать символ "дефис", то он должен быть в первой позиции внутри квадратных скобок. В остальных местах он будет указывать на диапазон.
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913540
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я не догоняю этот топик от слова совсем...
edward_sh
Возникла проблема - в текстовом поле описания профессии применяются русские буквы, знаки препинания и ДВОЙНЫЕ КАВЫЧКИ.


По моему, если вообще ничего не делать, то в текстовое поле можно ввести что угодно, причем если кавычки вводить руками, то они будут однотипные, зачем все эти лайки, условия и т.д. ?
Ну я бы еще понял, если бы нужно было что-то запретить к вводу, например английский шрифт - дак и то проще на поле установить язык ввода русский и всё...

Так со стороны посмотреть, то задача стоит типа нужно написать условия, которые позволят ввести всё что угодно, так может их и писать не нужно эти условия?
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913576
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag , да видишь - товарищ пытается сформировать CHECK CONSTRAINT на поле для применения на MS SQL, причём смоделировать это средствами Access. Если бы он делал как все - ввод исключительно через формы,- так и вопроса бы не возникло, там через Validate можно слона протащить.
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913600
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Мдя... имхо сначала нужно сделать рабочий макет, оттестировать его вдоль и поперек, а потом уже делать защиту от дураков и прочие мелочи, причем делать это лучше уже на реальной связке БД-Интерфейс... а так похоже на балансировку колес при отсутствии автомобиля...
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913824
edward_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag, Так я и делаю рабочий макет :)
Те, кто сразу не думает о защите от дураков, потом долго и нудно латает код.
Проще сразу в макете сказать что тебе надо, а от остального защищаться кодом.

To Akina про MsgBox я знаю, мне было интересно вывести стандартными средствами вывода ошибок
Accessa из строки Ошибки на значения (Validation Text).
Просто текстовое сообщение вытягивается некрасиво.
Но походу этого сделать нельзя...
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913851
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
edward_sh
....мне было интересно вывести стандартными средствами вывода ошибок Accessa из строки Ошибки на значения (Validation Text).
Просто текстовое сообщение вытягивается некрасиво.
Но походу этого сделать нельзя...

Отчего же нельзя?

Введите в ValidationText то, что нужно - хоть в две, хоть в пять, хоть в семь строк.
Перевод строки - Ctrl-Enter.
Или сформируйте многострочный текст в окне Область ввода (вызывается Shift-F2).
...
Рейтинг: 0 / 0
Знаки пунктуации в условии на значение
    #39913883
edward_sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
Спасибо, Ctrl+Enter сработало! А Shift+F2 в конструкторе таблиц у меня не сработал ... Ну и ладно!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Знаки пунктуации в условии на значение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]