RUS  ENG 

Ошибка при выборке по условию

Страницы: 1
RSS
Ошибка при выборке по условию
 
Версия 8.0.0.7354u
Дата сборки 18.02.2020

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

Ошибка возникает только при выборке по полю, которое использует данный справочник.

Пожалуйста, подскажите как решить данную проблему.
Изменено: Дмитрий - 09.10.2020 08:07:57
 
Дмитрий, добрый день!
Возможно, основная таблица и таблица-справочник имеют разные параметры сортировки (collate) и SQL Server с этим не может справиться.
Напишите, пожалуйста на [email protected] с описанием проблемы, нужны дополнительные сведения, чтобы выработать рекомендации.
 
Дмитрий Озеров, действительно, проблема оказалась в разных параметрах сортировки, все сами поправили. Есть еще такой вопрос: например, есть слой "Здания" с объектами зданий и слой "Потребители" с объектами потребителей. Каждый из этих объектов имеет поле "Наименование улицы", к которому привязан простой справочник. Имеется ли возможность создать один справочник, который будет работать на этих обоих слоях, вместо того, что бы для каждого слоя создавать свой справочник, который будет работать только в пределах этого слоя?
 
Дмитрий, если справочник простой, то нет, нельзя. Такой справочник хранится в описателе базы данных.
Можно сделать справочник по таблице, и если для слоёв "Здания" и "Потребители" физически используется одна и та же база данных, то настроенные в обоих слоях справочники для наименований улиц могут использовать одну и ту же таблицу.
 
Дмитрий Озеров,а что именно подразумевается здесь под использованием физически одной базы данных? Именно в структуре слоев эти объекты должны использовать какие-то общие таблицы?
 
Цитата
Дмитрий написал:
Дмитрий Озеров,а что именно подразумевается здесь под использованием физически одной базы данных? Именно в структуре слоев эти объекты должны использовать какие-то общие таблицы?
Нет, не в структуре слоя, а в рамках СУБД слои "Здания" и "Потребители" должны будут использовать "разделяемую" таблицу по названиям улиц. Соответственно, она должна быть доступна и из соединения, настроенного в описателе базы в "Зданиях" и в соединении в "Потребителях". Самое удобное - это есть все таблицы будут физически в одной БД. А если, допустим, по "Зданиям" и по "Потребителям" у Вас две отдельные базы данных SQLite или MS Access, то такую связь организовать не удастся.
 
Дмитрий Озеров, спасибо за объяснение, теперь оба слоя используют один справочник. Но теперь, решив скопировать адреса с объектов зданий на потребителей, которые находятся в этих зданиях, написали макрос. Он копирует поля адреса здания и вставляет их в поля потребителя проверяя, располагается ли объект потребителя в этом здании. Но выполнение данного макроса вызывает ошибку, скрин прикреплен.

Для обоих объектов поле "Улица", данные из которого копируются, имеет тип "Длинное целое". Также оба поля используют один и тот же справочник.
Страницы: 1