![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Организация цикла между дат [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;