Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Как распечатать базу данных?


Автор: Makarofff 18.5.2005, 20:51
Есть бд paradox, как распечатать мою бд,сохранить в bmp,какие параметры отображения таблицы, как работать с Reports (если я не ошибаюсь) ???Помогите новичку...
Заранее спасибо

Автор: Marriage 18.5.2005, 21:34
В BMP ? smile
Может в HTML ???

Автор: Makarofff 18.5.2005, 23:48
Цитата(Marriage @ 18.5.2005, 21:34)
В BMP ? smile
Может в HTML ???

И туда тоже :_))

Автор: ТоляМБА 19.5.2005, 06:06
Через QuickReport или через RaveReport (в зависимости от версии Дэлфей), кстати по какому-то репорту есть тема в DRKB. Там посмотришь может в них есть перегон в BMP, а вообще-то если у тебя есть MS-Office 2003, то там есть такая шняга - выводишь на нее как на принтер она создает тифаки. Перегнать в бмп я думаю не проблема. Перегоняет она в бмп или нет не знаю: если есть офис есть - сам посмотришь. Кстати называется она MS OFFICE DOCUMENT IMAGE WRITER.

Автор: Marriage 19.5.2005, 15:03
А можно уточнить:" распечатать мою бд" - это что....
Всю БД ???

Автор: Makarofff 19.5.2005, 16:17
Цитата(Marriage @ 19.5.2005, 15:03)
А можно уточнить:" распечатать мою бд" - это что....
Всю БД ???

Сорри,не уточнил.Нет, одну таблицу (вся БД smile)) )

Автор: Makarofff 19.5.2005, 19:00
Цитата
Через QuickReport или через RaveReport (в зависимости от версии Дэлфей), кстати по какому-то репорту есть тема в DRKB. Там посмотришь может в них есть перегон в BMP, а вообще-то если у тебя есть MS-Office 2003, то там есть такая шняга - выводишь на нее как на принтер она создает тифаки. Перегнать в бмп я думаю не проблема. Перегоняет она в бмп или нет не знаю: если есть офис есть - сам посмотришь. Кстати называется она MS OFFICE DOCUMENT IMAGE WRITER.

ОК,посмотрю.Спасибо

Автор: AntonSaburov 20.5.2005, 10:47
Вот простой вариант вывода таблицы в HTML файл. Я не делал ловлю эксепшенов, но код по идее рабочий

Код

procedure TfrmMain.N11Click(Sender: TObject);
var
  qryTemp : TADOQuery;
  Content : TStringList;
  S : string;
  i : integer;
begin
  qryTemp := TADOQuery.Create(nil);
  qryTemp.Connection := adoConn;  // Здесь можно и просто строку для коннекта сделать
  qryTemp.SQL.Text := 'SELECT * FROM Table';   // Подставляем имя таблицы

  qryTemp.Open;
  Content := TStringList.Create;
  Content.Add('<TABLE BORDER=1>');
  S:='<TR>';
  for i:=0 to qryTemp.Fields.Count-1 do
  begin
    S:=S+'<TH>'+qryTemp.Fields[i].FieldName+'</TH>';
  end;
  S:=S+'</TR>';
  Content.Add(S);
  while not qryTemp.Eof do
  begin
    S := '<TR>';
    for i:=0 to qryTemp.Fields.Count-1 do
    begin
      S:=S+'<TD>'+qryTemp.Fields[i].AsString+'</TD>';
    end;
    S := S+'</TR>';
    Content.Add(S);
    qryTemp.Next;
  end;
  Content.Add('</TABLE>');

  Content.SaveToFile('Test.html');

  Content.Free;
  qryTemp.Free;
end;

Автор: Makarofff 24.5.2005, 16:01
Grid index out of range
С чем это связано?

Автор: MacTep 24.5.2005, 18:53
"Grid index out of range" - где-то индекс несуществующий, т.е., например, обращаешься к 11 элементу массива, а в нем всего их 10. smile

Автор: Makarofff 24.5.2005, 19:56
Цитата(MacTep @ 24.5.2005, 18:53)
"Grid index out of range" - где-то индекс несуществующий, т.е., например, обращаешься к 11 элементу массива, а в нем всего их 10. smile

У меня вылезает эта ошибка при попытке добавить запись с помощью SQL ( Insert ... ).Я скачал палитру компонентов (flat) для красоты,заменил ихний дбгрид на свой и после этого начала ошибка вылазить, хотя запись добавляется.

Автор: MacTep 24.5.2005, 20:30
Может как-нибудь размер сетки меняется?

Автор: Dynamic 25.5.2005, 07:34
А отладчик чего говорит?

Автор: SLaM 27.5.2005, 20:07
А ещё вопросы:
1. Когда источник данных TTable - вычисляемые поля считаю при обработке события OnCalcFields... А когда источником ставлю TQuery - в Grid-e вообще вместо вычисляемых полей - пусто... Что может помочь?

2. Мне надо распечатать таблицу, предварительно обединив её в группы, т.е. наути записи, в которых первое поле равно например "Садовой", а второе равно например "информатика" и вывести всю группу, потом итого под ней за всю группу, и продолжать далльше вывод следущих групп на этой же странице...
Как это можно сделать... И если можно на FreeReport, то может у кого-то есть faq какой-нить. как это реализовать...

Заранее спасибо...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)