Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.03.01;
Скачать: [xml.tar.bz2];

Вниз

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

 
Динара   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
2-1231928496
СержК
2009-01-14 13:21
2009.03.01
Не получается отобразить картинку в компонетте: Image


2-1231938227
Ruzzz
2009-01-14 16:03
2009.03.01
как-то на картинке карты земли находить точку по широте и долготе


3-1215617383
Morrison
2008-07-09 19:29
2009.03.01
Как восстановить индексы в Paradox?


4-1206114729
Unit04
2008-03-21 18:52
2009.03.01
програмный вход в систему


8-1191349647
leonidus
2007-10-02 22:27
2009.03.01
Воспроизведение MP3 через MediaPlayer





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский