KeyFieldNames: String;
Свойство KeyFieldNames определяет список ключевых полей по значениям которых, будет осуществляться поиск обновляемых записей. Поля в списке разделяются знаком ";".
Для выполнения примера предполагается наличие в репозитории таблицы с идентификатором "Table_1" и в корневом каталоге диска С файла Excel с наименованием "Data.xls". Тип данных и количество столбцов с данными в файле Excel соответствует списку полей таблицы.
Sub Main;
Var
MB: IMetabase;
ExcelProvider: IDtExcelProvider;
MBConsumer: IDtMetabaseConsumer;
Fields: IDtFieldDefinitions;
Begin
MB := MetabaseClass.Active;
//Новый источник
ExcelProvider := New DtExcelProvider.Create;
ExcelProvider.DriverVersion := "Excel 8.0";
ExcelProvider.File := "c:\Data.xls";
ExcelProvider.HasHeader := True;
ExcelProvider.Query := "Select * from [Лист1$]";
//Новый приемник
MBConsumer := New DtMetabaseConsumer.Create;
MBConsumer.Dataset := MB.ItemById("Table_1").Bind As IDatasetModel;
Fields := MBConsumer.Fields;
MBConsumer.Open;
MBConsumer.KeyFieldNames := Fields.Item(0).Name;
MBConsumer.PutProvider(ExcelProvider);
MBConsumer.Close
End Sub Main;
После выполнения примера будет создан новый источник и приемник данных. Источник будет настроен на импорт из файла Excel. Приемник на экспорт данных в таблицу репозитория. При экспорте данных будет производиться обновление записей по содержимому первого поля таблицы.
См. также: