Форум: "Основная";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
ВнизФормат отображения числа Найти похожие ветки
← →
Максим (2004-07-02 14:05) [0]Здравствуйте, подскажите, пожалуйста. Данные находятся на MS SQL Server 2000, для доступа к ним использую TADOQuery, поставщик-Microsoft OLE DB Provider for Sql Server. Полученные данные надо забрасывать в Excel. А также надо иметь возможность редактировать данные, для чего использую TDBGrid. Получается такая ерунда. Если устанавливаю на Server тип данных как decimal and numeric(эти типы больше всего соответствуют «реальным» числам), то Excel их почему-то переформатирует в какой то тип подставляю знак $ перед каждым числом, и изменить тип числа в Excel потом ни как не получается (остается $ и не подходящие для дальнейших арифм. операций разделители). Поэтому вынужден на сервере устанавливать тип как Real. Числа этого же типа отображаются в TDBGrid например так 45,7272626738349476, что вряд ли кого устроит.
Свойства Tfield.MaskEdit использовать не могу так как числа с плавающей точкой.
Свойства Tfield.DisplayFormat вообще почему то в Delphi7 нет. Как быть.
← →
Тимохов © (2004-07-02 14:10) [1]как в эксель выбрасываешь?
← →
Максим (2004-07-03 04:32) [2]Доступ к серверу(Excel) осуществляется методом раннего связывания. А забрасываю в Excel так
OLEVariant(FApplication).Range[RName].Resize(numRows,numFields):= Data;, где Data: Variant;
(Data:= VarArrayCreate([1,numRows,1,numFields],varVariant);), далее в двойном цикле так
Data[cRow+1,cField+1] := Fields[cField].AsVariant;. Преобразование к OLEVariant вариант необходимо так как доступ к Range осуществляю по имени(RName), что к сожелению нельзя сделать с помощью описанного в Delphi объекта Range.
Скорее всего Delphi неадекватно "понимает" decimal и numeric, но даже если это так, как быть я не пойму.
← →
menart © (2004-07-03 08:50) [3]http://delphimaster.net/view/10-1088496646/
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c