07.05.2010, 09:34 | #17 |
Участник
|
Цитата:
Цитата:
Сообщение от Gustav
Всё-таки не совсем понятно, почему даже на пустом Excel происходило... Как-то у вас дата, похоже, крепко хваталась со второй колонки и не "отпускалась" до конца строки. Напоминает поведение типа anytype, когда он принимает тип первого присваивания...
А покажите цикл заполнения рекордсета? (на радостях) X++: . . .
rstAxa.AddNew();
for(i=1; i<=arrFields.lastIndex(); i++)
{
cv = this.getValueVariant(conpeek(con, i));
fld = flds.Item(i-1);
fld.Value(cv);
}
rstAxa.Update();
. . . X++: protected COMVariant getValueVariant(anytype _value) { COMVariant ret; ; switch(typeof(_value)) { case Types::Date : ret = COMVariant::createFromDateAndTime(_value, 0); break; case Types::Real : ret = COMVariant::createFromReal(_value); break; case Types::Integer : ret = COMVariant::createFromInt( _value); break; case Types::String : case Types::RString : case Types::VarString : ret = COMVariant::createFromStr( _value); break; default : callStack2infolog(); throw error(strfmt(@"%1(): Не знаю, как преобразовать значение из типа %2 в %3", funcname(), typeof(_value), classstr(COMVariant))); } return ret; } |
|
Теги |
ado, comvariant, excel, faq, odbc, sql, интеграция, прямой доступ, формат дат, экспорт, экспорт в excel |
|
|