Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.12.26;
Скачать: CL | DM;

Вниз

Экспортировать отчёт из Delphi в MsWord,дублировать запрос в Lbl   Найти похожие ветки 

 
Первокурсница ©   (2010-10-01 18:40) [0]

Добрый день, уважаемые программисты! =)
У меня клиентское приложение "Телефонный справочник". С помощью запросов я должна выводить информацию об абонентах и их номера телефонов на экран с помощью 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.


 
И. Павел ©   (2010-10-01 19:01) [1]

Работа с word из delphi:
1. Кратко, основы: http://www.codeguru.com.ua/article/a-177.html
2. Подробнее: http://www.kornjakov.ru/stat.htm#s4

Чтобы отобразить результат запроса в label, пишите так:

label1.caption := ADOQuery1.FieldByName("имя нужного поля").AsString;
Значение будет взято из текущей записи выборки.
В вашем случае "имя нужного поля" = PhoneNum


> На защиту преподаватель дал следующее задание:

Надеюсь, [0] - это не диплом :)


 
Первокурсница ©   (2010-10-01 19:14) [2]

Большое спасибо =)
Нет, это всего лишь лаба, причем всего лишь 4ая из 8ми, с каждым разом будет все сложнее и сложнее (ну это для меня разумеется сложнее)  =(


 
Anatoly Podgoretsky ©   (2010-10-01 19:49) [3]

> И. Павел  (01.10.2010 19:01:01)  [1]

Вместо TLabel TDbText и связать с полем, вряд ли предодавателя интересует
вывод из одной записи, произвольной.


 
Anatoly Podgoretsky ©   (2010-10-01 19:49) [4]

> Первокурсница  (01.10.2010 19:14:02)  [2]

А мы надеялись, что это уже диплом.


 
Плохиш ©   (2010-10-01 20:26) [5]


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

Что?!!! Как вы посмели пропустить метод Open? Лаба не принята!


 
Anatoly Podgoretsky ©   (2010-10-01 20:31) [6]

> Плохиш  (01.10.2010 20:26:05)  [5]

Асtive за отмазку не тянет?


 
Anatoly Podgoretsky ©   (2010-10-01 20:33) [7]

> Плохиш  (01.10.2010 20:26:05)  [5]

То есть обязательно два?

> ADOQuery1.Active := True;
> ADOQuery1.Open;


 
Плохиш ©   (2010-10-01 20:38) [8]


> Anatoly Podgoretsky ©   (01.10.10 20:33) [7]
>
> > Плохиш  (01.10.2010 20:26:05)  [5]
>
> То есть обязательно два?

Конечно, во всех обработчиках дублирует, а в одном открывалку не продублировала. Непорядок, вдруг не сработает.


 
Германн ©   (2010-10-02 02:03) [9]


> Конечно, во всех обработчиках дублирует

Привычка - вторая натура.


 
Плохиш ©   (2010-10-02 14:22) [10]


> Германн ©   (02.10.10 02:03) [9]
>
>
> > Конечно, во всех обработчиках дублирует
>
> Привычка - вторая натура.

Вот это наркотик, с первой понюшки подсела...



Страницы: 1 вся ветка

Текущий архив: 2010.12.26;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.009 c
2-1285833478
Jacksotnik
2010-09-30 11:57
2010.12.26
Помогите с запросом


2-1285805956
HF-Trade
2010-09-30 04:19
2010.12.26
Назначить диапазону массива значения


15-1284321619
DVM
2010-09-13 00:00
2010.12.26
С Днем Программиста!!!


15-1284536871
И. Павел
2010-09-15 11:47
2010.12.26
Как сделать один SQLзапрос, но чтобы вложения считались единожды?


6-1232051577
nixstill
2009-01-15 23:32
2010.12.26
Открытие необходимой группы в локальной сети (UNC)