On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
администратор




Пост N: 6656
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.17 17:25. Заголовок: Locate по виртуальному полю.


Есть база с 1 полем kod_kl , n , 6
На ее основе построен бровс , в котором есть одно поле (название контрагента) и оно
вытаскивается по Dbseek() из базы контрагентов.
Каким образом организовать поиск по вхождению в название или Locate
по этому виртуальному столбцу бровса ?



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 6 [только новые]


администратор




Пост N: 1144
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 22.12.17 17:53. Заголовок: Dima пишет: Каким о..


Dima пишет:

 цитата:
Каким образом организовать поиск по вхождению в название или Locate



в блоке кода _dbLocate( bBlock,,,,.F.) используй обратное преобразование ID в название и в этом названии ищи вхождение


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 555
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 22.12.17 17:58. Заголовок: Судя по вопросу, rel..


Судя по вопросу, relation не установлен?

У меня в паре мест такая схема используется: в dbedit() вызывается функция отображения строки с кучей виртуальных и не очень полей. Она, прежде чем что либо отображать, позиционируется в соотв. таблицах. Если мне нужно что-то найти в виртуальных полях, я ищу уже в результатах этой функции.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6657
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.17 18:20. Заголовок: Haz пишет: в блоке ..


Haz пишет:

 цитата:
в блоке кода _dbLocate( bBlock,,,,.F.) используй обратное преобразование ID в название и в этом названии ищи вхождение


Попробую , спасибо.
Sergy пишет:

 цитата:
Судя по вопросу, relation не установлен?


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

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3656
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.12.17 18:48. Заголовок: b := oB:getColumn(nP..


b := oB:getColumn(nPos):block
..
Eval(oB:goTopBlock)
while ! eof()
if Eval(b) = xValue
// нашли
endif
if Eval(oB:SkipBlock, 1) # 1
exit
endif
enddo

Поиск можно выполнять до первого попадания, или искать все. Можно заносить результат поиска в массив, и, если там более одного элемента, выдавать запрос, куда перемещаться.
У меня в dbedit по кл.F7 поиск идет по такому принципу.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6658
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 22.12.17 18:59. Заголовок: Pasha То же вариант..


Pasha
То же вариант , пасиб !

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3657
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 22.12.17 19:03. Заголовок: Можно и упростить: ..


Можно и упростить:

__dbLocate({|| Eval(b)=xValue},,,,)

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 17
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет