Использование @dblookup

  • Автор темы -Guest-
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

-Guest-

Гость
#1
Можно ли так делать:

есть Pole_1 типа Dialog list с выбором по @DbColumn("":"NoCACHE";"":"";"(View'er_1)";1), следующее Pole_2 Dialog list с выбором по @DbLookup("":"NoCACHE";"":"";"(View'er_1)";Pole_1;2).
Здесь все Ok.

Есть третье Pole_3 типа Dialog list с выбором по @DbLookup("":"NoCACHE";"":"";"(View'er_2)";Pole_1+Pole_2;2)

Выбор для View'er_1 и View'er_2 идет из разных форм:
- для View'er_1
SELECT(Form="Form_1" & DelFlag!="1")

- для View'er_2
SELECT(Form="Form_1" & DelFlag!="1") | (Form="Form_2" & DelFlag!="1")
При выборе списка третьего поля Pole_3 ошибка: Entry not found in index or view's index not buil.

Помогите!
 
V

VZH

Гость
#2
<!--QuoteBegin--Guest-+19:10:2005, 17:54 -->
<span class="vbquote">(-Guest- @ 19:10:2005, 17:54 )</span><!--QuoteEBegin-->Можно ли так делать:

есть Pole_1 типа Dialog list с выбором по @DbColumn("":"NoCACHE";"":"";"(View'er_1)";1), следующее Pole_2 Dialog list с выбором по @DbLookup("":"NoCACHE";"":"";"(View'er_1)";Pole_1;2).
Здесь все Ok.

Есть третье Pole_3 типа Dialog list с выбором по @DbLookup("":"NoCACHE";"":"";"(View'er_2)";Pole_1+Pole_2;2)

Выбор для View'er_1 и View'er_2 идет из разных форм:
- для View'er_1
SELECT(Form="Form_1" & DelFlag!="1")

- для View'er_2
SELECT(Form="Form_1" & DelFlag!="1") | (Form="Form_2" & DelFlag!="1")
При выборе списка третьего поля Pole_3 ошибка: Entry not found in index or view's index not buil.

Помогите!
[snapback]26035" rel="nofollow" target="_blank[/snapback]​
[/quote]

я такое проходил (давно правда - может уже что и поменялось).

@Dblookup не будет работать корректно по множественному ключу - эта функция недокументирована. Выражается в том - что достаточно отсутствия одного элемента ключа - и весь запрос возвращает ошибку и сделать с этим ничего нельзя.

кроме того все 3 запроса с NoCache - крайне неэффективно.

Вообщем, так делать не стоит. Это не Lotus-техника, а какая то реляционка.

в 6 появились циклы на формулах (ересь вообщето) , но тебе поможет - делай дблукап по каждому ключу отдельно и проверяй на ошибку.
 
G

-Guest-

Гость
#3
>>@Dblookup не будет работать корректно по множественному ключу - эта >>функция недокументирована. Выражается в том - что достаточно отсутствия >>одного элемента ключа - и весь запрос возвращает ошибку

Отсутствие элемента из столбца @DbLookup("":"NoCACHE";"":"";"(View'er_2)";Pole_1+Pole_2;2)?

У меня 5 : (

Как быть?
 
V

VZH

Гость
#5
<!--QuoteBegin--Guest-+19:10:2005, 19:47 -->
<span class="vbquote">(-Guest- @ 19:10:2005, 19:47 )</span><!--QuoteEBegin-->>>@Dblookup не будет работать корректно по множественному ключу - эта >>функция недокументирована. Выражается в том - что достаточно отсутствия >>одного элемента ключа - и весь запрос возвращает ошибку

Отсутствие элемента из столбца @DbLookup("":"NoCACHE";"":"";"(View'er_2)";Pole_1+Pole_2;2)?

У меня 5 : (

Как быть?
[snapback]26037" rel="nofollow" target="_blank[/snapback]​
[/quote]

Ну значит самое время мигрировать на 6, а можно сразу и на 7 - там твои любимые SQL запросы начинают работать. :)
 
G

-Guest-

Гость
#6
Да я бы с радостью :(
И прямое мое начальство тоже.
Но вот с начальством повыше... :)
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#7
<!--QuoteBegin--Guest-+19:10:2005, 17:54 -->
<span class="vbquote">(-Guest- @ 19:10:2005, 17:54 )</span><!--QuoteEBegin-->При выборе списка третьего поля Pole_3 ошибка: Entry not found in index or view's index not buil.
[snapback]26035" rel="nofollow" target="_blank[/snapback]​
[/quote]
Правильно все.
Во-первых. У тебя представление (View'er_2) должно сожержать в первой отсортированной колонке значения Pole_1+Pole_2. Так ?
Во-вторых. Стоят ли в полях свойства Refresh fields... и Refresh choices... ?
В-третьих. Испозуй функцию @IsError, для отлова ошибки.
 
G

-Guest-

Гость
#8
Спасибо!

Забыла отсортировать столбец :(

Теперь все Ok :)
 
G

-Guest-

Гость
#9
А можно ли из списка значений, которые возвращает функция @DbLookup
как нибудь получить только последнее значение?
 
Статус
Закрыто для дальнейших ответов.