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

Вниз

Округление и Excel   Найти похожие ветки 

 
ViktorZ ©   (2006-05-05 20:25) [0]

При передаче данных из запроса в Ексель данные округляются, то есть 166,6 становится 167. При больших числах это влияет на результат. Вопрос как убрать округление. При этом же запросе в Грид попадают данные не округленные(сам проверял).


 
ЛшдлуттнСфе   (2006-05-05 20:27) [1]

Посмотреть формат ячейки в экселе, возможно.


 
Anatoly Podgoretsky ©   (2006-05-05 20:37) [2]

Какие это большие, что 10^15 не хватает?


 
Лшдлуттнсфе   (2006-05-05 20:42) [3]


> Anatoly Podgoretsky ©   (05.05.06 20:37)


вероятно, имелось ввиду большое количество чисел, или действий с числами, или большое количество знаков после запятой...или что-нить еще.


 
ViktorZ ©   (2006-05-06 08:22) [4]


> вероятно, имелось ввиду большое количество чисел, или действий
> с числами, или большое количество знаков после запятой..
> .или что-нить еще.
>

Вообще эти числа суммы бонусов, поэтому чем больше число тем больше клиент теряет(получает). Там в принципе вопрос точности до рубля, но нужно.


> При больших числах это влияет на результат

Не подумал, при больших числах это влияет на результат также как и при малых.
12345,6=12346 - то есть округляет до рубля.


 
ЮЮ ©   (2006-05-06 10:07) [5]

Из грида в Ехеl данные попадают, очевидно, волшебным образом. Тогда тебе - на форум волшебников. А здесь - без кода помочь очень сложно


 
ViktorZ ©   (2006-05-06 16:39) [6]

Да код собственно стандартный.

mainq1.Close;
 mainq1.SQL.Clear;
mainq1.SQL.Text:="SELECT C.Name, P.CArdCode, P.SUMMA  ,P.OST," +
" SUM( P.OST + P.SUMMA) ,P.SkidkaSumma  ,P.SkidkaOST , " +
" SUM(P.SkidkaSumma + P.skidkaOST)  FROm ":SEN:Final" P,":SEN:Cards" C WHERE "+
" C.Card=P.cardCode Group By c.Name,P.cardCode,P.OST , P.SUMMA  ,P.SkidkaOST ,"+
" P.SkidkaSumma ORDER By CArdCode";
mainq1.Open;

XL:= CreateOleObject("Excel.Application");
XL.WorkBooks.Add;
Sheet:= XL.ActiveWorkBook.Sheets[1];
Sheet.PageSetup.Orientation:= 2; //===Книжная ориентация===
Sheet.Name:= "Лист № 1";
Sheet.Columns[1].ColumnWidth:= 35;
Sheet.Columns[2].ColumnWidth:= 7;
Sheet.Columns[3].ColumnWidth:= 10;
Sheet.Columns[4].ColumnWidth:= 15;
Sheet.Columns[5].ColumnWidth:= 15;
Sheet.Columns[6].ColumnWidth:= 15;
Sheet.Columns[7].ColumnWidth:= 18;
Sheet.Columns[8].ColumnWidth:= 10;

//  Итого:
Sheet.Range[Sheet.Cells[3,3],Sheet.Cells[3,3]].HorizontalAlignment:= 3;
Sheet.Range[Sheet.Cells[3,3],Sheet.Cells[3,3]].VerticalAlignment:= 2;
Sheet.Range[Sheet.Cells[3,3],Sheet.Cells[3,3]].WrapText:= true;
Sheet.Range[Sheet.Cells[3,3],Sheet.Cells[3,3]].Font.FontStyle:= "Полужирный";
Sheet.Range[Sheet.Cells[3,3],Sheet.Cells[3,3]].Merge(false);
Sheet.Range[Sheet.Cells[3,3],Sheet.Cells[3,3]]:= "Cумма по категории:";
// Итого:
 //  Сумма по категории:
Sheet.Range[Sheet.Cells[3,4],Sheet.Cells[3,4]].HorizontalAlignment:= 3;
Sheet.Range[Sheet.Cells[3,4],Sheet.Cells[3,4]].VerticalAlignment:= 2;
Sheet.Range[Sheet.Cells[3,4],Sheet.Cells[3,4]].WrapText:= true;
Sheet.Range[Sheet.Cells[3,4],Sheet.Cells[3,4]].Font.FontStyle:= "Полужирный";
Sheet.Range[Sheet.Cells[3,4],Sheet.Cells[3,4]].Merge(false);
Sheet.Range[Sheet.Cells[3,4],Sheet.Cells[3,4]]:= "Сумма по остальному:";

//  Сумма по остальным блюдам:

Sheet.Range[Sheet.Cells[3,5],Sheet.Cells[3,5]].HorizontalAlignment:= 3;
Sheet.Range[Sheet.Cells[3,5],Sheet.Cells[3,5]].VerticalAlignment:= 2;
Sheet.Range[Sheet.Cells[3,5],Sheet.Cells[3,5]].WrapText:= true;
Sheet.Range[Sheet.Cells[3,5],Sheet.Cells[3,5]].Font.FontStyle:= "Полужирный";
Sheet.Range[Sheet.Cells[3,5],Sheet.Cells[3,5]].Merge(false);
Sheet.Range[Sheet.Cells[3,5],Sheet.Cells[3,5]]:= "Итого:";

//  Скидка по категории:

Sheet.Range[Sheet.Cells[3,6],Sheet.Cells[3,6]].HorizontalAlignment:= 3;
Sheet.Range[Sheet.Cells[3,6],Sheet.Cells[3,6]].VerticalAlignment:= 2;
Sheet.Range[Sheet.Cells[3,6],Sheet.Cells[3,6]].WrapText:= true;
Sheet.Range[Sheet.Cells[3,6],Sheet.Cells[3,6]].Font.FontStyle:= "Полужирный";
Sheet.Range[Sheet.Cells[3,6],Sheet.Cells[3,6]].Merge(false);
Sheet.Range[Sheet.Cells[3,6],Sheet.Cells[3,6]]:= "Скидка по категории("+ skpocat.Text +"%):";

//  Скидка по остальному:

Sheet.Range[Sheet.Cells[3,7],Sheet.Cells[3,7]].HorizontalAlignment:= 3;
Sheet.Range[Sheet.Cells[3,7],Sheet.Cells[3,7]].VerticalAlignment:= 2;
Sheet.Range[Sheet.Cells[3,7],Sheet.Cells[3,7]].WrapText:= true;
Sheet.Range[Sheet.Cells[3,7],Sheet.Cells[3,7]].Font.FontStyle:= "Полужирный";
Sheet.Range[Sheet.Cells[3,7],Sheet.Cells[3,7]].Merge(false);
Sheet.Range[Sheet.Cells[3,7],Sheet.Cells[3,7]]:= "Скидка по остальному("+ skpoost.Text +"%):";

//  Сумма по остальным блюдам:

Sheet.Range[Sheet.Cells[3,8],Sheet.Cells[3,8]].HorizontalAlignment:= 3;
Sheet.Range[Sheet.Cells[3,8],Sheet.Cells[3,8]].VerticalAlignment:= 2;
Sheet.Range[Sheet.Cells[3,8],Sheet.Cells[3,8]].WrapText:= true;
Sheet.Range[Sheet.Cells[3,8],Sheet.Cells[3,8]].Font.FontStyle:= "Полужирный";
Sheet.Range[Sheet.Cells[3,8],Sheet.Cells[3,8]].Merge(false);
Sheet.Range[Sheet.Cells[3,8],Sheet.Cells[3,8]]:= "Итого по Скидкам:";
i:= 4;
mainq1.First;
while not mainq1.Eof do
begin
Sheet.Cells[i,1]:= mainq1.Fields[0].AsString ;
Sheet.Cells[i,2]:= mainq1.Fields[1].Asinteger;
Sheet.Cells[i,3]:= mainq1.Fields[2].Asinteger;
Sheet.Cells[i,4]:= mainq1.Fields[3].AsInteger;
Sheet.Cells[i,5]:= mainq1.Fields[4].Asinteger;
Sheet.Cells[i,6]:= mainq1.Fields[5].AsInteger;
Sheet.Cells[i,7]:= mainq1.Fields[6].AsInteger;
Sheet.Cells[i,8]:= mainq1.Fields[7].AsInteger;
inc(i);
mainq1.Next;
end;
XL.Visible:= true;
Sheet:= UnAssigned;
XL:= UnAssigned;
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.039 c
15-1145732092
DBwewq
2006-04-22 22:54
2006.05.21
Помогите пожалуйста! В чем ошибка! timer:longint absolute $40:$6c


15-1146145979
X9
2006-04-27 17:52
2006.05.21
ICQ на смартфоне


8-1135579295
WondeRu
2005-12-26 09:41
2006.05.21
Улыбнемся ;)


2-1146409591
Ezorcist
2006-04-30 19:06
2006.05.21
Скриншот в консольном приложении


4-1141246917
Alsan
2006-03-02 00:01
2006.05.21
Reg edit !!! Как добавить тихо ???