Страница 1 из 1

Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 20 янв 2012, 07:04
Воронин С.В.
Господа!
В таблице атрибутов у меня есть поля, в которых данные одного поля не могут превышать данные другого.
Данные заносятся вручную.
Возможен ли вариант формулы в этих полях, чтобы при их заполнении данные одного поля не могли превышать данные другого (количество значящих цифр, чаще всего, одинаковое).

Re: Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 20 янв 2012, 10:21
self-improving
Автоматическая проверка корректности ввода данных при их внесении, думаю, мало вероятна...

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

Re: Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 20 янв 2012, 10:54
Дмитрий Барышников
В базе данных (персональной, файловой и уровня предприятия /SDE/) есть такая страшная вещь как домены (domains) и подтипы (subtypes). С их помощью можно настроить контроль ввода значений. Если бы вы дали больше информации можно было бы подумать о конкретной реализации для вас.

Re: Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 20 янв 2012, 11:08
self-improving
Bishop писал(а):В базе данных (персональной, файловой и уровня предприятия /SDE/) есть такая страшная вещь как домены (domains) и подтипы (subtypes). С их помощью можно настроить контроль ввода значений. Если бы вы дали больше информации можно было бы подумать о конкретной реализации для вас.
Домены не позволяют сравнивать значения в соседних столбцах, насколько я помню.
Можно задать диапазон значений, но не более того...

Re: Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 20 янв 2012, 11:45
Дмитрий Барышников
Чисто домены - нет. Но вместе с подтипами - да. Кажется есть только ограничение на количество полей которые могут участвовать в такой "конструкции".
Это выглядит так: при назначении в поле 1 значения из домена - в поле 2 будет назначен соответствующий домен. Этакий домен доменов :)

Re: Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 20 янв 2012, 12:02
Воронин С.В.
Господа!
Спешу вмешаться.
К доменам у меня некоторое неприятие. Их сохранение связано форматом .mdb, что в некоторых случаях неудобно.
Но как просил г-н Bishop, вложил архив с шейпом.
Сравниваются данные поля CA, значения в котором значения должны быть меньше, чем в поле S.

P.S. Еще одно поле заводить, будет как-то не корректно. Количество полей и так большое.

Re: Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 20 янв 2012, 13:48
Дмитрий Барышников
Хотелось все же определенности: если вы не хотите связываться с доменами и подтипами - есть еще программирование, но это еще сложнее в реализации.
Посмотрел образец. Ничего не понял. Какие поля (их там аж 34 штуки) от каких зависят, что должно быть не больше/меньше. Какие диапазоны данных?

Re: Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 23 янв 2012, 05:12
Воронин С.В.
Воронин С.В. писал(а):Сравниваются данные поля CA, значения в котором значения должны быть меньше, чем в поле S.
Суть в том, что химики сначала находят S (сумму оснований), затем CA (СаО), после этого вычисляется арифметически MG (MgO).

Re: Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 23 янв 2012, 15:34
Дмитрий Барышников
Если чисто меньше - то здесь без программирования не обойтись (или можно выполнить массовую проверку - создав до поле и внеся в него разницу. Если разница меньше или равна нулю - то корректировать. А быстро увидеть можно отсортировав по этому полю).
Если же CA могут принимать значения из определенного диапазона(ов) и в зависимости от этого полю S назначается допустимый диапазон - то можно сделать (дайте диапазоны).

Re: Сравнение данных при заполнении атрибутивной таблицы

Добавлено: 25 янв 2012, 08:06
Воронин С.В.
Bishop писал(а):Если чисто меньше - то здесь без программирования не обойтись
Не могу Вас беспокоить по столь пустяковому вопросу.
Себя я и проверяю созданием-удалением поля.
Хотелось, просто, для простого люда, т.е. для подчиненных сделать невозможным забивать заведомую ахинею.