![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с фильтрацией н.д. [D6]
AFROLOV © (2002-07-03 12:26:00)Заполняем набор данных
Function TListBoxForm.FillListBox(Domen:String):Int64;
Var
SqlStr:String;
begin
ADOQuery.Filtered:=false;
try
ADOQuery.Connection.BeginTrans();
SqlStr:="Select valId, valueStr from TvalList,TDomens where TDomens.DomName=""+Domen+"" and TValList.DomenId=TDomens.DomenId order by TvalList.valueStr;";
ADOQuery.SQL.Clear();
ADOQuery.SQL.Add(SqlStr);
ADOQuery.Open();
except
ADOQuery.Connection.RollbackTrans();
result:=0;
exit;
end;
ADOQuery.Connection.CommitTrans();
result:=ADOQuery.RecordCount;
end;
Фильтруем:
Function TListBoxForm.IsInValuesList(SubStr:String):boolean;
begin
if SubStr="" then
begin
ADOQuery.Filtered:=false;
end else
begin
ADOQuery.Filter:="[valueStr]=""+SubStr+""";
ADOQuery.Filtered:=true;
end;
result:=ADOQuery.RecordCount>0;
end;
После вызова этой функции в ADOQuery.RecordCount становится = 0 даже если Filtered:=false;
Подскажите где я не прав, и как надо правильно фильтровать.
Заранее спасибо.
Johnmen (2002-07-03 13:46:00) [1]Значит по условию фильтра не выбрана ни одна запись....
И еще вопрос - после открытия НД кол-во записей = ???
И еще м.б.
ADOQuery.Filter:="valueStr=""+SubStr+""";
AFROLOV (2002-07-03 13:33:00) [2]В наборе записи есть, и они отображаются в DBGrid. После выполнения процедуры фильтрации DBgrid становится пустым и ADOQuery.RecordCount становится = 0.
Johnmen (2002-07-03 13:05:00) [3]А в НД вообще есть записи ? И как это видно ?