Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Организация цикла между дат [D7, MS Access]


Динара ©   (2009-01-17 16:16:00) 

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


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


> 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]


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


KilkennyCat   (2009-01-17 18:51:00) [2]


> Сергей М. ©   (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 18:24:00) [3]


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


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


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

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


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

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


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

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


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


> Мне нужно вывести отчет в 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо