Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.12.26;
Скачать: [xml.tar.bz2];

Вниз

Экспортировать отчёт из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.004 c
11-1227257194
heilong
2008-11-21 11:46
2010.12.26
использование fastmove с fastmm4


2-1285738449
Temp User
2010-09-29 09:34
2010.12.26
Программно выделить секцию у хидера


15-1284409769
Юрий
2010-09-14 00:29
2010.12.26
С днем рождения ! 14 сентября 2010 вторник


2-1285874599
faiwer
2010-09-30 23:23
2010.12.26
Главная форма и модальные окна


2-1286026337
Ghost del vonte
2010-10-02 17:32
2010.12.26
Назначение родителя





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский