RecordCountAll: Integer;
Свойство RecordCountAll возвращает общее количество записей в источнике данных, которое может быть помещено в кэш.
При получении значения данного свойства в кэш будут загружены все записи источника данных.
Для выполнения примера предполагается наличие в репозитории двух таблиц с идентификаторами Table_1 и Table_2.
Sub UserProc;
Var
MB: IMetabase;
DSInst, DSInst1: IDatasetInstance;
Cache, Cache1: ICachedDataset;
Begin
MB := MetabaseClass.Active;
DSInst := MB.ItemById("Table_1").Open(Null) As IDatasetInstance;
DSInst1 := MB.ItemById("Table_2").Open(Null) As IDatasetInstance;
Cache := DSInst.OpenCached;
Cache1 := DSInst1.OpenCached;
Cache.IndexFields := "FIELD2";
Cache.MasterFields := "FIELD_2";
Cache.MasterSource := Cache1;
Cache1.First;
While Not Cache1.Eof Do
Debug.WriteLine(Cache.RecordCountAll);
Cache1.Next;
End While;
Cache.Close;
Cache1.Close;
DSInst.Close;
DSInst1.Close;
End Sub UserProc;
После выполнения примера будет установлена связь между двумя таблицами. Поле главной таблицы, из которой будут браться данные, имеет идентификатор - FIELD_2; поле ведомой таблицы, по которому будет осуществляться фильтрация в соответствии с данными из первой таблицы, имеет идентификатор - FIELD2. Будет осуществлен проход по всем записям главной таблицы. В консоль будет выведено количество записей в связанной таблице, полученных в результате фильтрации по данным каждой записи главной таблицы.
См.также: