Фильтр у ADOTable и массив.Проблема

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Всем привет! Не пойму в чем дело, в таблице есть поля - key(автозаполнение), name(string),func(string),time(string). Создаю массив: Mas:array[0..50,0..1] of String; Далее закидываю в массив два значения из таблицы - это key,time.

Код: Выделить всё

table1.first;
i:=0;
repeat

Mas[i,0]:=table1key.text;
Mas[i,1]:=table1time.text;

i:=i+1;
table1.next;
until table1.eof;
Потом я ищу в массиве таймером запись у которой значение time=текущему времени.
Допустим нашли, останавливаю таймер, далее хочу наложить фильтр на таблицу по этой записи по полю key, т.к. оно имеет уникальное значение;

Код: Выделить всё

Table1.filter:='key='''+mas[i,0]+'''';
Table1.Filtered:=true;
И тут загвоздка, таблица становится пустой.
А если сделаю на кнопку этот фильтр, указав какое-либо значение в таблице по полю key фильтр работает. В чем может быть дело?
Главное, смотрю в режиме отладки по строкам значения в переменных, и там все нормально, а после выполнения Table1.Filtered:=true; в таблице нет значений :(
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

а key в таблице тоже строковый?
Изображение
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

хм, вопрос хороший, но ведь на кнопку фильтр срабатывает
Table1.filter:='key='''+'10'+'''';
Table1.Filtered:=true;
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
Ответить