Сравнение Полей

  • Автор темы Автор темы BEST
  • Дата начала Дата начала
При выборе (проверочной) коллекции (Set Coll_Blank= db_out.Search({Form="StampBlank" & SB_StatusBlank ="Не использован" & SB_Number="0040162" ) отрабатывает. При сравнении нет. Пробовала всеми выше перечисленными методами.
Попробуйте в обе коллекции отобрать по одному документу с заведомо совпадающими номерами и пройтись отладчиком. Добавьте присвоение номеров документов вспомогательным переменным и внимательно изучите их значения. Может какой враг добавил где-нибудь пробелы.
 
если значение не в первом элементе массива - так и будет
надо смотреть значение на Ubound и если не одно - думать как корректно обработать спписок
простой вариант - Fulltrim(val)

Добавлено: где val=DocBlank.SB_Number например

Добавлено: то, что работает в Search - подтверждает предположение, ибо в формулах, сравнение со списком, происходит поэлементно

Добавлено: если элементов м.б. не один (т.е. список в полях существует по дизайну), то логично былоб сравнивать через Evaluate
через =*
 
Еще нашла ошибку дебагером, предполагаю, что из-за нее:
значение Val(DocBlank.GetItemValue("SB_Number")(0)) всегда равно 0.

При выборе (проверочной) коллекции (Set Coll_Blank= db_out.Search({Form="StampBlank" & SB_StatusBlank ="Не использован" & SB_Number="0040162" ) отрабатывает. При сравнении нет. Пробовала всеми выше перечисленными методами.
Наверное с Val я погорячился.. он ведь отбрасывает символьные значение и лидирующие нули, т.е. для сравнения номеров это может не подойти.
для SB_Number="0040162" Val вернёт число 40162
для SB_Number="Д/0040162/2011" Val вернёт 0! Поклацал сейчас, оказывается, что возвращается число только если оно идёт первым, и до первого символа. Я сам в шоке, ведь выбрасывало же все символьные значения!..
Ребята были правы - Val отменяется. Приношу извинения.
Нужно явно привести или оба "номера" в текст и сравнивать их, как предлагали выше.
 
Нужно явно привести или оба "номера" в текст и сравнивать их, как предлагали выше.
как я предоложил - могут быть списки, а сравнивают тока первое значение - отсюда и "ошибка"
 
Спасибо всем огромное, действительно одно поле было в виде списка :o
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab