Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2008, 06:54   #1
LIBRA
Пользователь
 
Регистрация: 15.02.2008
Сообщений: 12
По умолчанию



Есть БД, из неё надо вытянуть отчёт о колличестве платёжных карточек, с указанием Города, Филиала, Наименованием Организации, Кол-во действующих карточек, Кол-во активных карточек и Кол-во транзакций по ним. Где лучше (проще) это сделать? Нужна клиентская часть! Кто знает, пишите...заранее спасибо! )

Последний раз редактировалось Alex21; 15.02.2008 в 09:17.
LIBRA вне форума Ответить с цитированием
Старый 15.02.2008, 09:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Возьми Fast Report и наслаждайся красивыми отчетами.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.02.2008, 11:23   #3
LIBRA
Пользователь
 
Регистрация: 15.02.2008
Сообщений: 12
По умолчанию

А знание языка программирования нужно?
LIBRA вне форума Ответить с цитированием
Старый 15.02.2008, 11:28   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну если не знаеш ЯВУ то пробуй открыть базу в Экзеле
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.02.2008, 11:31   #5
2face
Пользователь
 
Регистрация: 23.05.2007
Сообщений: 24
По умолчанию

начни с sql-запроса.
2face вне форума Ответить с цитированием
Старый 15.02.2008, 12:04   #6
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Знание языка Вам нужно в любом случае....
Создать отчет Вам можно , используя QReport, FastReport, CrestalReport ило просто в Excell вігружать данніе.... Если будете использовать Report ,то знать особо программирование не нужно, а вот с Єксел....
Информации на форуме куча... не ленитесь ищите...

вот Вам кусок кода, для отчета в Єксел
Код:
procedure PrintRepEx();
  var
  XLApp,Sheet,Colum:Variant;
  index,i:Integer;
begin
 XLApp:= CreateOleObject('Excel.Application');
 XLApp.Visible:=true;
 XLApp.DisplayAlerts:=false;
 XLApp.Workbooks.Add(-4167);
 XLApp.Workbooks[1].WorkSheets[1].Name:='Отчёт';
 Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Columns;
 Colum.Columns[1].ColumnWidth:=5;
 Colum.Columns[2].ColumnWidth:=10;
 Colum.Columns[3].ColumnWidth:=10;
 Colum.Columns[4].ColumnWidth:=10;
 Colum.Columns[5].ColumnWidth:=10;
 Colum.Columns[6].ColumnWidth:=10;
 Colum.Columns[7].ColumnWidth:=10;
 Colum.Columns[8].ColumnWidth:=10;
 Colum.Columns[8].ColumnWidth:=10;

 Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Rows;
 Colum.Rows[3].Font.Bold:=true;
 Colum.Rows[1].Font.Bold:=true;
 Colum.Rows[1].Font.Color:=clBlue;
 Colum.Rows[1].Font.Size:=14;

 Sheet:=XLApp.Workbooks[1].WorkSheets['Отчёт'];
 Sheet.Cells[1,2]:='Учет перевозки грузов автомобильным транспортом';
 Sheet.Cells[3,1]:='№ проезда';
 Sheet.Cells[3,2]:='Марка авто';
 Sheet.Cells[3,3]:='Гос.номер';
 Sheet.Cells[3,4]:='Кто регистрировал';
 Sheet.Cells[3,5]:='Откуда';
 Sheet.Cells[3,6]:= 'Куда';
 Sheet.Cells[3,7]:= 'Дата';
 Sheet.Cells[3,8]:= 'Время';

 index:=4;
 DataModule1.proezd_main .First;
 for i:=0 to DataModule1.proezd_main .RecordCount-1 do
  begin
   Sheet.Cells[index,1]:=DataModule1.proezd_main.Fields.Fields[0].AsString;
   Sheet.Cells[index,2]:=DataModule1.proezd_main .Fields.Fields[1].AsString;
   Sheet.Cells[index,3]:=DataModule1.proezd_main .Fields.Fields[2].AsString;
   Sheet.Cells[index,4]:=DataModule1.proezd_main .Fields.Fields[3].AsString;
   Sheet.Cells[index,5]:=DataModule1.proezd_main.Fields.Fields[4].AsString;
   Sheet.Cells[index,6]:=DataModule1.proezd_main .Fields.Fields[5].AsString;
   Sheet.Cells[index,7]:=DataModule1.proezd_main .Fields.Fields[6].AsString;
   Sheet.Cells[index,8]:=DataModule1.proezd_main .Fields.Fields[7].AsString;
   Inc(index);
   DataModule1.proezd_main.Next;
   end;

end;
Если нужно могу обїяснить ,что и где....
тут вся таблица заливается в Єксел, а ві можите использовать запрос по какому-то условию....
uses Base
select [dbo].[xxx1], [dbo].[xxxx2] from Table
where условие....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 15.02.2008 в 12:07.
Pitbull вне форума Ответить с цитированием
Старый 15.02.2008, 12:19   #7
LIBRA
Пользователь
 
Регистрация: 15.02.2008
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну если не знаеш ЯВУ то пробуй открыть базу в Экзеле
Вообще мне нужно отчёт в Exel выводить. Точнее не мне (мне програмку написать, чтоб ей другой чел пользоваться мог), он в них ничего не понимает, тупо нажал на кнопку...данные в Эксель выгрузились...не больше. ) SQL скрипты на вывод данных есть.
А БД в Оракле. И мне посоветовали написать клиент-сервера на Дельфях, типо лекго ) но за 1 месяц нереально изучить Дельфи. Я так думаю. )
FastReport сегодня посмотрю...есть ещё какие-нибудь предложения?
LIBRA вне форума Ответить с цитированием
Старый 15.02.2008, 12:21   #8
LIBRA
Пользователь
 
Регистрация: 15.02.2008
Сообщений: 12
По умолчанию

Цитата:
Сообщение от 2face Посмотреть сообщение
начни с sql-запроса.
SQL запрос есть уже (в плане скрипты на вывод этих данных есть)...надо клиент-сервера сделать, а отчёт в Эксель...вот и парюсь как это сделать, сроки маленькие (
LIBRA вне форума Ответить с цитированием
Старый 15.02.2008, 12:27   #9
LIBRA
Пользователь
 
Регистрация: 15.02.2008
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
Знание языка Вам нужно в любом случае....
Создать отчет Вам можно , используя QReport, FastReport, CrestalReport ило просто в Excell вігружать данніе.... Если будете использовать Report ,то знать особо программирование не нужно, а вот с Єксел....
Информации на форуме куча... не ленитесь ищите...

вот Вам кусок кода, для отчета в Єксел
Код:
procedure PrintRepEx();
  var
  XLApp,Sheet,Colum:Variant;
  index,i:Integer;
begin
 XLApp:= CreateOleObject('Excel.Application');
 XLApp.Visible:=true;
 XLApp.DisplayAlerts:=false;
 XLApp.Workbooks.Add(-4167);
 XLApp.Workbooks[1].WorkSheets[1].Name:='Отчёт';
 Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Columns;
 Colum.Columns[1].ColumnWidth:=5;
 Colum.Columns[2].ColumnWidth:=10;
 Colum.Columns[3].ColumnWidth:=10;
 Colum.Columns[4].ColumnWidth:=10;
 Colum.Columns[5].ColumnWidth:=10;
 Colum.Columns[6].ColumnWidth:=10;
 Colum.Columns[7].ColumnWidth:=10;
 Colum.Columns[8].ColumnWidth:=10;
 Colum.Columns[8].ColumnWidth:=10;

 Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Rows;
 Colum.Rows[3].Font.Bold:=true;
 Colum.Rows[1].Font.Bold:=true;
 Colum.Rows[1].Font.Color:=clBlue;
 Colum.Rows[1].Font.Size:=14;

 Sheet:=XLApp.Workbooks[1].WorkSheets['Отчёт'];
 Sheet.Cells[1,2]:='Учет перевозки грузов автомобильным транспортом';
 Sheet.Cells[3,1]:='№ проезда';
 Sheet.Cells[3,2]:='Марка авто';
 Sheet.Cells[3,3]:='Гос.номер';
 Sheet.Cells[3,4]:='Кто регистрировал';
 Sheet.Cells[3,5]:='Откуда';
 Sheet.Cells[3,6]:= 'Куда';
 Sheet.Cells[3,7]:= 'Дата';
 Sheet.Cells[3,8]:= 'Время';

 index:=4;
 DataModule1.proezd_main .First;
 for i:=0 to DataModule1.proezd_main .RecordCount-1 do
  begin
   Sheet.Cells[index,1]:=DataModule1.proezd_main.Fields.Fields[0].AsString;
   Sheet.Cells[index,2]:=DataModule1.proezd_main .Fields.Fields[1].AsString;
   Sheet.Cells[index,3]:=DataModule1.proezd_main .Fields.Fields[2].AsString;
   Sheet.Cells[index,4]:=DataModule1.proezd_main .Fields.Fields[3].AsString;
   Sheet.Cells[index,5]:=DataModule1.proezd_main.Fields.Fields[4].AsString;
   Sheet.Cells[index,6]:=DataModule1.proezd_main .Fields.Fields[5].AsString;
   Sheet.Cells[index,7]:=DataModule1.proezd_main .Fields.Fields[6].AsString;
   Sheet.Cells[index,8]:=DataModule1.proezd_main .Fields.Fields[7].AsString;
   Inc(index);
   DataModule1.proezd_main.Next;
   end;

end;
Если нужно могу обїяснить ,что и где....
тут вся таблица заливается в Єксел, а ві можите использовать запрос по какому-то условию....
uses Base
select [dbo].[xxx1], [dbo].[xxxx2] from Table
where условие....


Язык в процессе изучения, кстати то, что я выбрал Дельфи, правильно или С лучше?
Просто очень короткие сроки!
QReport, FastReport, CrestalReport я сегодня посмотрю...пока даже не знаю что спрашивать ) но в любом случае человеческое спасибо! )
LIBRA вне форума Ответить с цитированием
Старый 15.02.2008, 14:07   #10
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от LIBRA Посмотреть сообщение
Язык в процессе изучения, кстати то, что я выбрал Дельфи, правильно или С лучше?
Просто очень короткие сроки!
QReport, FastReport, CrestalReport я сегодня посмотрю...пока даже не знаю что спрашивать ) но в любом случае человеческое спасибо! )
Ну, я и на Си могу... Но мне как-то Делфи роднее.Возможности у них теже Если знаете Паскаль,то никаких вопросов не будет...
Я считаю, что нужно один язык знать на отлично, но об остальных иметь представление....
Если Вам нужно просто распечатать ваш отчет, то используйте Reports... А если выводимые данные будут потом корректироваться, передаваться куда-то, то Эксел...
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт из Access в Excel, Экспорт из отчётов в таблицу Excel Kissedbythegod Microsoft Office Access 1 31.05.2008 22:15
Деректива Oracle D-mon SQL, базы данных 1 24.05.2008 12:02
delphi & oracle yurma БД в Delphi 2 01.04.2008 17:29