Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Экспортировать отчёт из Delphi в MsWord,дублировать результат запроса в Label  (Прочитано 6934 раз)
0 Пользователей и 1 Гость смотрят эту тему.
СвоЕобразнаЯ
Участник

ru
Offline Offline

« : 01-10-2010 14:34 » 

Добрый день, уважаемые программисты! Целую
У меня клиентское приложение "Телефонный справочник". С помощью запросов я должна выводить информацию об абонентах и их номера телефонов на экран с помощью DBGrid (с этим проблем не возникло) и записывать эту же информацию в отчёты (RvProject). На защиту преподаватель дал следующее задание:
1) результат запроса ADOQuery1 (а результатом является номер телефона абонента) должен дублироваться в Label.
2) все отчёты сделанные в среде Delphi нужно импортировать в MSWord, а ещё лучше сделать так чтобы они и открывались сразу же в MSWord.
Никаких указаний и подсказок он не дал! Фиг вам!
Помогите пожалуйста! Спасите - тону!
Вот текст программы:

Код:
unit LAB5Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RpCon, RpConDS, RpDefine, RpRave, StdCtrls, RpRender,
RpRenderHTML, Grids, DBGrids, DB, ADODB;

type
TForm1 = class(TForm)
RvProject1: TRvProject;
RvDataSetConnection1: TRvDataSetConnection;
Button1: TButton;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Button2: TButton;
Button3: TButton;
Label3: TLabel;
RvRenderHTML1: TRvRenderHTML;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button4: TButton;
Button5: TButton;
Label8: TLabel;
Label9: TLabel;
RvProject2: TRvProject;
RvDataSetConnection2: TRvDataSetConnection;
Label10: TLabel;
Label11: TLabel;
Edit5: TEdit;
Label12: TLabel;
Edit6: TEdit;
Label13: TLabel;
Edit7: TEdit;
Button6: TButton;
Button7: TButton;
Label14: TLabel;
Label15: TLabel;
RvProject3: TRvProject;
RvDataSetConnection3: TRvDataSetConnection;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
Edit8: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); {Показать все записи}
begin
ADOQuery1.Active:=false;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT*From Таблица1');
ADOQuery1.Active:=true;
end;

procedure TForm1.Button2Click(Sender: TObject); {Запрос 2}
begin
ADOQuery1.Active:=False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT FName,LName,PhName,City,Street,House,Kv,PhoneNum');
ADOQuery1.SQL.Add('FROM Таблица1');
ADOQuery1.SQL.Add('WHERE PhoneNum='+' "'+ Edit8.Text+'"');
ADOQuery1.Open;
ADOQuery1.Active:=true;
end;

procedure TForm1.Button4Click(Sender: TObject); {Запрос 3}
begin
ADOQuery1.Active:=False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT PhoneNum');
ADOQuery1.SQL.Add('FROM Таблица1');
ADOQuery1.SQL.Add('WHERE City='+' "'+Edit1.Text+'"');
ADOQuery1.SQL.Add('AND Street='+' "'+Edit2.Text+'"');
ADOQuery1.SQL.Add('AND House='+' "'+Edit3.Text+'"');
ADOQuery1.SQL.Add('AND Kv='+' "'+Edit4.Text+'"');
ADOQuery1.Open;
ADOQuery1.Active:=true;
//Label9.Caption:=IntToStr
end;

procedure TForm1.Button6Click(Sender: TObject); {Запрос 4}
begin
ADOQuery1.Active:=False;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT PhoneNum');
ADOQuery1.SQL.Add('FROM Таблица1');
ADOQuery1.SQL.Add('WHERE FName='+' "'+Edit5.Text+'"');
ADOQuery1.SQL.Add('AND LName='+' "'+Edit6.Text+'"');
ADOQuery1.SQL.Add('AND PhName='+' "'+Edit7.Text+'"');
ADOQuery1.Open;
ADOQuery1.Active:=true;
//Label15.Caption:=IntToStr
end;

procedure TForm1.Button3Click(Sender: TObject); {Отчёт 2}
begin
RvProject1.Execute;
end;

procedure TForm1.Button5Click(Sender: TObject); {Отчёт 3}
begin
RvProject2.Execute;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
RvProject3.Execute;
end;

end.
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 01-10-2010 15:02 » 

никогда не работал с рэйвом, но подозреваю, что у него есть свой экспорт в ворд. логично его заюзать.

а вообще, я бы написал одну процедуру, которая выкидывает любой датасет в Ворд. соответственно, останется натравить эту процедуру на каждый из ваших селектов для ADOQuery. после этого рэйв можно будет выбросить вообще.

про экспорт датасетов в ворд можно почитать, например, здесь: https://forum.shelek.ru/index.php/topic,20705.msg206528.html#msg206528
Записан

СвоЕобразнаЯ
Участник

ru
Offline Offline

« Ответ #2 : 01-10-2010 15:12 » new

Большое спасибо за отклик, тока Rv удалять никак нельзя, у препода свои загоны Эврика!
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #3 : 01-10-2010 15:16 » 

ну, хай живёт. одно другому не мешает.
Записан

СвоЕобразнаЯ
Участник

ru
Offline Offline

« Ответ #4 : 01-10-2010 15:32 » 

Я разобралась, спасибо! А я кланяюсь...
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines