KeyFieldNames: String;
Свойство KeyFieldNames определяет список ключевых полей, по значениям которых будет осуществляться поиск обновляемых записей.
Поля в списке разделяются символом «;».
Для выполнения примера предполагается наличие в репозитории таблицы с идентификатором TABLE_1 и в корневом каталоге диска С файла Excel с наименованием Data.xls. Тип данных и количество столбцов с данными в файле Excel соответствует списку полей таблицы.
Sub UserProc;
Var
MB: IMetabase;
ExcelProvider: IDtExcelProvider;
MBConsumer: IDtMetabaseConsumer;
Table: IDatasetModel;
Fields: IDatasetModelFields;
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$]";
// Новый приёмник
Table := MB.ItemById("Table_1").Bind As IDatasetModel;
MBConsumer := New DtMetabaseConsumer.Create;
MBConsumer.Dataset := Table;
Fields := Table.Fields;
MBConsumer.Open;
MBConsumer.KeyFieldNames := Fields.Item(0).Id;
MBConsumer.PutProvider(ExcelProvider);
MBConsumer.Close
End Sub UserProc;
После выполнения примера будет создан новый источник и приёмник данных. Источник будет настроен на импорт из файла Microsoft Excel, приёмник - на экспорт данных в таблицу репозитория. При экспорте данных будет производиться обновление записей по содержимому первого поля таблицы.
См. также: