Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MS Access [D7, WinXP]


npr2 ©   (2005-09-26 10:33:00) 

Здравствуйте, мастера! Как через компоненты или иначе подключить отчет, созданный в MS Accss/


Digitman   (2005-09-27 12:09:00) [1]


> npr2   (27.09.05 11:32) [10]
> Ну прости!


низафто !)


> открывается сначала MS Access, потом отчеты, а потом только
> сам нужный отчет. Можно ли все это не открывать, а сразу
> только отчет


просто поставь ac.Visible = True последней строчкой во всей этой петрушке)


npr2   (2005-09-27 11:32:00) [2]

Ну прости! Все получилось. Но открывается сначала MS Access, потом отчеты, а потом только сам нужный отчет. Можно ли все это не открывать, а сразу только отчет.


Digitman   (2005-09-27 11:22:00) [3]


> npr2   (27.09.05 11:12) [7]


ведь врешь и не моргаешь !)

действительно, у объекта Access.Application нет метода OpenCurrentDataba Ze()

но !

при этом д.б. ошибка

> 'Metod 'OpenCurrentDataBa ze' not supported by automation object'

а не

> 'Metod 'OpenCurrentDataBa se' not supported by automation object'

отсебячина ?)


Digitman   (2005-09-27 11:19:00) [4]

ac.OpenCurrentDataba S e('auto.mdb',False);


npr2   (2005-09-27 11:12:00) [5]

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComObj, StdCtrls, OleServer, Access2000;
type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
var
 Form1: TForm1;
 ac:OleVariant;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var   ac:OleVariant;
begin
ac:=CreateOleObject('Access.Application');
ac.OpenCurrentDatabaze('auto.mdb',False);
ac.Visible:=true;
ac.DoCmd.openReport('swor',acviewPreview,EmptyParam,EmptyParam);
end;
end.
Вот полностью процедура, компиляция прошла без ошибок, но при запуске на выполнениевыдается ошибка 'Metod 'OpenCurrentDataBase' not supported by automation object'. Что это значит. Я еще с OLE не работала.


Digitman   (2005-09-27 09:17:00) [6]


> методов ac.OpenCurrentDataBase(), (), ac.DoCmd.OpenReport() нет


как это нет ?

есть !


npr2   (2005-09-27 08:59:00) [7]

Если делаю так, то запускается только сам Access, а подключить нужные БД и отчет из нее не могу, т.к. методов ac.OpenCurrentDataBase(), ac.DoCmd.OpenReport() нет, аналогов найти не могу.

procedure TForm1.Button1Click(Sender: TObject);
var   ac:OleVariant;
begin
ac:=CreateOleObject('Access.Application');
ac.Visible:=true;
end;
Если Делаю с помощью компонента с закладки Server, то при запуске программы выдает сообщение "Класс не зарегистрирован", хотя в системе MS Access установлен.


Digitman   (2005-09-27 08:27:00) [8]


> пробовала через OLE, но не получилось


что конкретно не получилось ?


npr2   (2005-09-27 05:26:00) [9]

Да нужно в программе вывести отчет, созданный средствами MS Access. Я пробовала через OLE, но не получилось. А как сделать не знаю.


Федор   (2005-09-26 13:48:00) [10]

Я так думаю, что необхоимо в программе выводить отчет из MS Access


Digitman   (2005-09-26 13:35:00) [11]

что значит

> подключить отчет


?

куда или к чему его подключить ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо