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

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

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

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

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

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

Цитата:
Сообщение от Pitbull Посмотреть сообщение
Ну, я и на Си могу... Но мне как-то Делфи роднее.Возможности у них теже Если знаете Паскаль,то никаких вопросов не будет...
Я считаю, что нужно один язык знать на отлично, но об остальных иметь представление....
Если Вам нужно просто распечатать ваш отчет, то используйте Reports... А если выводимые данные будут потом корректироваться, передаваться куда-то, то Эксел...
Cпасибо )))
вот мне больше 2 вариант подходит, Эксель )
тогда, если Вам не трудно, объясните код, который Вы написали мне, какая строка за что отвечает.
Это же в Дельфи использовать можно будет?
И ещё одна просьба, ответ можно на почту: dima_lezard@mail.ru
и копию на всякий случай : rus_99@bk.ru
Заранее огромное спасибо!
LIBRA вне форума Ответить с цитированием
Старый 15.02.2008, 15:52   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вообще мне нужно отчёт в Exel выводить.
Поясню свою мысль: Экзель может через ODBC и провайдеры подключаться к практически любой базе. Сделай один раз этакое подключение, настрой получение данных, и при открытии книги. эхель будет все считывать сам, как будто бы эти данные лежат в книге.
Короче советую разобраться с возможностью "Импорт внешних данных" Там ниче прогить по серьезному не надо.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.02.2008, 06:33   #13
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 условие....
Нужно объяснение что и где! Help! )
LIBRA вне форума Ответить с цитированием
Старый 18.02.2008, 07:44   #14
LIBRA
Пользователь
 
Регистрация: 15.02.2008
Сообщений: 12
По умолчанию

ААА...разобрался! Спасибо Pitbull!!!!
Только возник теперь такой вопрос, как задать временный промежуток, только дата/месяц/год/время не нужно/????
LIBRA вне форума Ответить с цитированием
Старый 19.02.2008, 13:04   #15
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Вот Вам пример отсечения от текущей таді времени, если поле даті стринговое, если нет, то используйте механизм, что віше...:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
d:Tdatetime;
s:string;
begin
  s:=FormatDateTime('dd.mm.yyyy',now());// формат времени указіваете такой которій Вам нужен для вашей базі...Єто зависит от настроек вашей базі.... 
  d:=StrToDate(s);
end;
Можите DecodeDate воспользоваться....

А вот вам пример віборки между 2 датами без учета времени(если поля даті в базе стринговіе,если нет то Дата:=strToDate(formatDateTime('dd. mm.yyyy',Дата_без_времени)); ):


Код:
 Query .Active :=False;
          Query.SQL.Clear;
          Query.SQL.add('select *');
          Query.sql.add('from Таблица');
          Query.SQL.Add('where data_d BETWEEN :dt and :dtt;');
          Query.Params[0].Value :=FormatDateTime('yyyy.mm.dd',DateTimePicker1.date);
          Query.Params[1].Value :=FormatDateTime('yyyy.mm.dd',DateTimePicker2.date);
          Query.Prepare;
          Query.ExecSQl ;
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 19.02.2008 в 15:15.
Pitbull вне форума Ответить с цитированием
Старый 19.02.2008, 13:18   #16
LIBRA
Пользователь
 
Регистрация: 15.02.2008
Сообщений: 12
Смех

Цитата:
Сообщение от Pitbull Посмотреть сообщение
Вот Вам пример отсечения от текущей таді времени, если поле даті стринговое, если нет, то используйте механизм, что віше...:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
d:Tdatetime;
s:string;
begin
  s:=FormatDateTime('dd.mm.yyyy',now());// формат времени указіваете такой которій Вам нужен для вашей базі...Єто зависит от настроек вашей базі.... 
  d:=StrToDate(s);
end;
Можите DecodeDate воспользоваться....

А вот вам пример віборки между 2 датами без учета времени(если поля даті в базе стринговіе,если нет то Дата:=strToDate(formatDateTime('dd. mm.yyyy',Дата_без_времени)); ):


Код:
 Query .Active :=False;
          Query.SQL.Clear;
          Query.SQL.add('select *');
          Query.sql.add('from Таблица');
          Query.SQL.Add('where data_d BETWEEN :dt and :dtt;');
          dataModule1.ReportQuery.Params[0].Value :=FormatDateTime('yyyy.mm.dd',DateTimePicker1.date);
          dataModule1.ReportQuery.Params[1].Value :=FormatDateTime('yyyy.mm.dd',DateTimePicker2.date);
          DataModule1.ReportQuery.Prepare;
          DataModule1.ReportQuery.ExecSQl ;



Спасибо! Всё работает )))
LIBRA вне форума Ответить с цитированием
Старый 20.02.2008, 11:47   #17
LIBRA
Пользователь
 
Регистрация: 15.02.2008
Сообщений: 12
По умолчанию

А куда теперь SQL скрипты вставлять?
LIBRA вне форума Ответить с цитированием
Старый 21.02.2008, 11:34   #18
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от LIBRA Посмотреть сообщение
А куда теперь SQL скрипты вставлять?
почитайте книгу по Делфи какую-нибудь..

Вставлять это в Query... Я ж написал
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - 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