Главная страница
    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
15-1230469106
NailMan
2008-12-28 15:58
2009.03.01
Вопрос владельцам балонных пневматических пистолетов


2-1232198187
Динара
2009-01-17 16:16
2009.03.01
Организация цикла между дат


15-1230758610
Riply
2009-01-01 00:23
2009.03.01
Уря-я-я-я !


15-1231199273
programmer90
2009-01-06 02:47
2009.03.01
Borland C


2-1232190104
ТАГ
2009-01-17 14:01
2009.03.01
Отчеты Rave





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