Локатор при работе через ODBC

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Работаю на С5ееВ (ABC). Несколько выборок делаю из базы VFP через ODBC. Не могу Browse выстроить по ключу, и как следствие - сижу без локатора и пишу QBE. А как делают не начинающие?
Гость

Сообщение Гость »

Ключи создал, но стандартный локатор работает так же медленно?
Видимо надо писать SQL запросы - ИЛИ КАК?
Гость

Сообщение Гость »

Я (правда не на ODBC, а на SQL драйвере ) делал локатор не как способ
позиционирования курсора в гигантском списке, а как способ усечения всей
выборки записей с позиционированием курсора на первую запись, то есть
работает так - ввел в поле локатора букву "И" - в browse остались только
записи с И в начале, потом "в" - остались Ив* и так далее. работало
довольно удобно и быстро, можно написать любую часть слова и получить
настолько точное подмножество из всех записей, которое требуется. Это
делалось через SQL оператор LIKE примерно так:

FilterString = '+A."NWMCat" like ''' & clip(CatNoLocatorString) & '%'' '
BRW1::View:Browse{prop:SQLFilter} = clip(FilterString)

здесь CatNoLocatorString - текущее значение строки локатора. % можно
поставить и впереди CatNoLocatorString, тогда будет выбираться все что
содержит данную подстроку.

Такой код реализовал усекающий локатор по NWMCat , который вызывался по
кнопке GO или можно и после каждого нажатия клавиатуры, это как угодно.
После такой манипуляции с View конечно нужно переотобразить view на экране
через ResetQueue.

Если PROP:SqlFilter работает для ODBC драйвера, то должно получиться.

С уважением,
Олег Чернов
Написал: ClaList(2)
Ответить