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

Вниз

Организация цикла между дат   Найти похожие ветки 

 
Динара   (2009-01-17 16:16) [0]

Мне нужно вывести отчет в Excel  по определенному периоду, период задается пользователем из БД Access


 
Динара   (2009-01-17 17:53) [1]


> Мне нужно вывести отчет в Excel  по определенному периоду,
>  период задается пользователем из БД Access

Мне нужно вывести отчет в Excel  по определенному периоду, период задается пользователем в DateTimePicker по БД Access
Отчет в Excel организован нужно только что бы был по определенному периоду
procedure TSved_o_post.Button5Click(Sender: TObject);
var x,sheet,column:variant;
i,index:integer;
begin
X:=CreateOleObject("excel.application");
x.visible:=true;
x.workbooks.add(-4167);
x.workbooks[1].worksheets[1].name:="Êíèæíûé ìàãàçèí";
column:=x.workbooks[1].worksheets["Êíèæíûé ìàãàçèí"];
column.columns[1].columnWidth:=5;
column.columns[2].columnWidth:=10;
column.columns[3].columnWidth:=19;
column.columns[4].columnWidth:=13;
column.columns[5].columnWidth:=8;
column.columns[6].columnWidth:=15;
column.columns[7].columnWidth:=15;

column:=x.workbooks[1].worksheets["Êíèæíûé ìàãàçèí"].rows;
column.rows[2].font.bold:=true;
column.rows[1].font.bold:=true;
column.rows[1].font.color:=clred;
column.rows[1].font.size:=14;

sheet:=x.workbooks[1].worksheets["Êíèæíûé ìàãàçèí"];
sheet.cells[1,3]:="Ñâåäåíèÿ î ïóñòóïëåíèè êíèã";
sheet.cells[2,1]:="Êîä";
sheet.cells[2,2]:="¹ äîê-òà";
sheet.cells[2,3]:="Íàçâàíèå";
sheet.cells[2,4]:="Êîë-âî øòóê";
sheet.cells[2,5]:="Öåíà";
sheet.cells[2,6]:="Äàòà ïîñòóïëåíèÿ";
sheet.cells[2,7]:="Ïîñòàâùèê";

Index:=3;

DataModule2.Sved_o_post.first;
For i:=0 to DataModule2.Sved_o_post.RecordCount-1 do
Begin
sheet.Cells[index,1]:=DataModule2.Sved_o_post.Fields.Fields[0].AsString;
sheet.Cells[index,2]:=DataModule2.Sved_o_post.Fields.Fields[1].AsString;
sheet.Cells[index,3]:=DataModule2.Sved_o_post.Fields.Fields[2].AsString;
sheet.Cells[index,4]:=DataModule2.Sved_o_post.Fields.Fields[3].AsString;
sheet.Cells[index,5]:=DataModule2.Sved_o_post.Fields.Fields[4].AsString;
sheet.Cells[index,6]:=DataModule2.Sved_o_post.Fields.Fields[5].AsString;
sheet.Cells[index,7]:=DataModule2.Sved_o_post.Fields.Fields[6].AsString;

Inc(index);
DataModule2.Sved_o_post.Next;
end;

end;


 
Сергей М. ©   (2009-01-17 17:57) [2]

Молодец.
А теперь кратко и внятно объясни, к чему вся эта куча говнокода ?


 
Динара   (2009-01-17 18:03) [3]

это вывод отчета в excel, я не могу организовать его по определенному периоду. Даты задаются в DateTimePicker1 и 2. нужно из базы данных Access выбрать данные по заданному периоду и сформировать в отчет


 
Юрий Зотов ©   (2009-01-17 18:20) [4]

Насколько я понял, сам отчет тут ни при чем. Надо сделать правильную выборку из БД, а отчету без разницы, что показывать. То есть:
select ... from ... where поле_даты between дата_1 and дата_2


 
Сергей М. ©   (2009-01-17 18:24) [5]


> это вывод отчета


И кому он интересен ?
Где все касаемое объекта Sved_o_post, ДО того как он был тобой активирован и передан в качестве источника данных для вывода в лтчет ?


 
KilkennyCat ©   (2009-01-17 18:51) [6]


> Сергей М. ©   (17.01.09 18:24) [5]


Я так понял, это как раз внутре Sved_o_post и надо сделать. Куда-то вот сюда:
> For i:=0 to DataModule2.Sved_o_post.RecordCount-1 do


то есть взять какой-то DataModule2.Sved_o_post.Fields.Fields[N].AsDateTime;
и как-то сравнить его с DateTimePicker.Value и если все хорошо, то как-то выполнить присваивание всех остальных DataModule2.Sved_o_post.Fields.Fields[N].AsString каким-то sheet.Cells[index,Nn]


 
Динара   (2009-01-17 19:34) [7]


> KilkennyCat ©   (17.01.09 18:51) [6]
>
> > Сергей М. ©   (17.01.09 18:24) [5]
>
>
> Я так понял, это как раз внутре Sved_o_post и надо сделать.
>  Куда-то вот сюда:
> > For i:=0 to DataModule2.Sved_o_post.RecordCount-1 do
>
>
> то есть взять какой-то DataModule2.Sved_o_post.Fields.Fields[N].
> AsDateTime;
> и как-то сравнить его с DateTimePicker.Value и если все
> хорошо, то как-то выполнить присваивание всех остальных
> DataModule2.Sved_o_post.Fields.Fields[N].AsString каким-
> то sheet.Cells[index,Nn]


спасибо получилось



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

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

Наверх




Память: 0.47 MB
Время: 0.006 c
15-1230758610
Riply
2009-01-01 00:23
2009.03.01
Уря-я-я-я !


15-1230270627
Урсулапов_
2008-12-26 08:50
2009.03.01
Как определить антивирус на удаленном компьютере


15-1230590376
Хост
2008-12-30 01:39
2009.03.01
Как использовать словарь FireFox для проверки орфографии?


15-1230623651
@!!ex
2008-12-30 10:54
2009.03.01
Какой вариант вы бы выбрали?


2-1232345049
Ruslan777
2009-01-19 09:04
2009.03.01
Проверка нажатия кнопки во цикле?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский