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

Вниз

Подключаюсь к БД Access+Excel с помощью Microsoft.Jet.OLEDB.4.0   Найти похожие ветки 

 
dimm22   (2004-05-27 16:06) [0]

Задача вытащить некоторые данные из mdb в лист Excel. Данные в файл Excel вношу с помощью AdoQuery с параметрами. Всё работает, но получаю в Excel текстовые данные, хотя хочу получить float (допустим "14.3 а не 14,3). Параметры присваиваю так adoqueryUpdate.Parameters.ParamByName("volume").Value:=adoquery1.FieldByName("volume").AsFloat; Сам параметр volume имеет тип ftFloat; Те     adoqueryUpdate.Parameters.ParamByName("volume").DataType:=ftFloat; А в файле внесённые данные получаются текстовыми :-( Может чего недопонимаю, это мой первый опыт в связке Microsoft.Jet.OLEDB.4.0+Excel.


 
DCoder   (2004-05-27 18:00) [1]

А каким образом ты вносишь данные в Ёксель?
Если как положено, через OleServer то указывай формат ячейки
я делаю так

case DataSet.Fields[i].DataType of
 ftString: ExcelApp.Selection.NumberFormat := "@";
 ftInteger,ftSmallInt: ExcelApp.Selection.NumberFormat := "0";
 ftFloat,ftBCD,ftCurrency: ExcelApp.Selection.NumberFormat := "0.00";
 ftDate: ExcelApp.Selection.NumberFormat := "dd-mm-yyyy;@";
else ExcelApp.Selection.NumberFormat := "@";
end;


 
dimm22   (2004-05-27 18:13) [2]


> А каким образом ты вносишь данные в Ёксель?

При помощи AdoQuery, вот его текст:

Update [Лист1$] set weight=:weight,
volume=:volume,
DiscountCode=:DiscountCode,
netstock=:netstock
where partno=:partno


 
DCoder   (2004-05-27 18:31) [3]

не стоит работать с экселем как с СУБД
он для этого не предназначен изначально.
Надежней всего и правильней работать с ним через OLE Server

uses OleServer,COMObj,OleCtnrs,ActiveX, variants;
.....
var ExcelApp, Workbook, WorkSheet: OLEVariant;
begin
 ExcelApp := CreateOleObject("Excel.Application");
 ExcelApp.SheetsInNewWorkbook := 1;
 Workbook := ExcelApp.WorkBooks.Add;
 WorkSheet := Workbook.Worksheets[1];
 WorkSheet.Activate;
 WorkSheet.PageSetup.Orientation := xlLandscape;
 WorkSheet.PageSetup.PaperSize := xlPaperA4;
 WorkSheet.Name:="от "+SellerName;
 WorkSheet.Cells[1,3]:="СЧЕТ-ФАКТУРА";
 WorkSheet.Cells[1,3].Font.Size:=16;
 WorkSheet.Cells[1,3].Font.Bold:=True;
и погнал: писать в лист, читать также со всеми атрибутами художественного оформления


 
dimm22   (2004-05-27 18:55) [4]


> DCoder   (27.05.04 18:31) [3]

Да уж больно медленно получается :-( Через OLEDB.4.0 шустрее будет. Но всё равно спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.06.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
4-1084346828
naked
2004-05-12 11:27
2004.06.20
мониторинг файловой системы


14-1085775071
Yorick
2004-05-29 00:11
2004.06.20
Существует ли любовь?


14-1085999853
BiN
2004-05-31 14:37
2004.06.20
А я вот скоро женюсь :). Помогите с подготовкой к свадьбе.


3-1085744896
Lenikur
2004-05-28 15:48
2004.06.20
Ограничение на размер данных, вставляемых в BLOB поле


14-1085834559
AlexG
2004-05-29 16:42
2004.06.20
Позволим пользователю упаравлять своей веткой!