Формула @DbLookup в диалоговом списке: Ошибка сервера: запись не найдена в индексе - PullRequest
0 голосов
/ 14 сентября 2018

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

server:="WPRServer/Un";
dbPath:="Region/Users.nsf";
viewName:="Search_users";
@DbLookup("":"NoCache"; server:dbPath; viewName; "myKey"; 2)

Но каждый раз, когда я получаю сообщение об ошибке в своем поле: enter image description here

Server error: Entry not found in index

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

  1. Я обновил представления с помощью сочетаний клавиш CTRL + SHIFT + F9.
  2. Попытался обновить текущий дизайн БД.
  3. Перекомпилирован LS и все представления.

Это очень странно, потому что я использую аналогичные формулы в других базах данных, и каждый раз все работает нормально.

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

Обновление 17.09.2018 :

1. Представление Search_users отсортировано.

2. Я использую сервер Windows, и попытался добавить ** \ ** косые черты, и это помогло решить эту проблему, теперь я получаю эту ошибку:

 This database is currently in use by another person or process, and cannot be accessed at this time.  In order to share a Notes database, it must be accessed via a Domino Server by all users of the database.

Я попытался сбросить все текущие обращения к этой базе данных с помощью инструмента Domino Administrator, ничего не помогло - все еще получаю эту ошибку в моем диалоговом списке.

3. @ DbColumn Формула прекрасно работает с этим представлением.

4. Кроме того, уже пытались сжать базу данных, без изменений.

1 Ответ

0 голосов
/ 17 сентября 2018

Это может показать вам, в чем проблема:

server:="WPRServer/Un"; 
dbPath:="Region/Users.nsf"; 
viewName:="Search_users";
searchkey := "myKey";
rslt := @DbLookup("":"NoCache"; server:dbPath; viewName; searchkey; 2);
@If(@IsError(rslt); @Text(rslt) + " for:[" + searchkey + "]"; rslt);

Условия ожидания и обработки ошибок.

...