Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Формат отображения числа   Найти похожие ветки 

 
Максим   (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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
3-1087992836
Vit
2004-06-23 16:13
2004.07.18
Программное изменение типа поля из Alpha в Int


3-1087986820
Piter
2004-06-23 14:33
2004.07.18
Перенос данных из одной базы в другую


6-1084958538
Darik
2004-05-19 13:22
2004.07.18
Как отправить файл по E-mail?


1-1088939735
ida
2004-07-04 15:15
2004.07.18
принудиельно перенести строки


3-1087534288
Amir
2004-06-18 08:51
2004.07.18
Восстановление Индексов