Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизПрименение функции locate для поиска записей по полю memo Найти похожие ветки
← →
Ann Boo (2004-03-05 10:54) [0]Уважаемые мастера, подскажите, пожалуйста, почему не работает функция Locate для полей Memo (поиск с частичным совпадением). Выдается ошибка о невозможности выполнения запроса. Использую БД Access, подключаюсь с помощью ADO.
ffield:="SecondNames"; //имя memo-поля
fvalue:=Form1.Edit1.Text;
opts:=[loCaseInsensitive,loPartialKey];
if not Form1.ADOTable1.Locate(ffield, fvalue, opts) then
ShowMessage("запись не найдена");
← →
Соловьев © (2004-03-05 11:00) [1]а если написать нормально?
if not Form1.ADOTable1.Locate("SecondNames", Form1.Edit1.Text, [loCaseInsensitive,loPartialKey]) then
ShowMessage("запись не найдена")
← →
Кщд (2004-03-05 11:00) [2]"почему не работает функция Locate для полей Memo "
по определению :)
← →
Anatoly Podgoretsky © (2004-03-05 11:04) [3]Locate только для поиска по полям с фиксировной длиной и простого типа.
← →
sniknik © (2004-03-05 11:11) [4]для Access легко можно сделать дополнительный запрос
"SELECT ID FROM Table WHERE SecondNames LIKE ""%"+Form1.Edit1.Text+"%""";
что даст ID (в данном случае идентификатор, ключь) всех совпадений, по нему локейт будет работать, и не нужно тянуть на локаль все мемо поля для обработки, а только совпадающие.
p.s. в очередной 101 раз ;о), не используйте ADOTable, для ADO в нем больше недостатков чем выигрыша от "привычности" использования.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c