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

Вниз

MS Access   Найти похожие ветки 

 
npr2   (2005-09-26 10:33) [0]

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


 
Digitman ©   (2005-09-26 13:35) [1]

что значит

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


?

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


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

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


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

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


 
Digitman ©   (2005-09-27 08:27) [4]


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


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


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

Если делаю так, то запускается только сам 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 09:17) [6]


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


как это нет ?

есть !


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

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 11:19) [8]

ac.OpenCurrentDatabaSe("auto.mdb",False);


 
Digitman ©   (2005-09-27 11:22) [9]


> npr2   (27.09.05 11:12) [7]


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

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

но !

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

> "Metod "OpenCurrentDataBaze" not supported by automation object"

а не

> "Metod "OpenCurrentDataBase" not supported by automation object"

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


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

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


 
Digitman ©   (2005-09-27 12:09) [11]


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


низафто !)


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


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



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

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

Наверх




Память: 0.49 MB
Время: 0.04 c
2-1125667287
SarDoX
2005-09-02 17:21
2005.10.16
С чего начать?


2-1126243191
sashuly
2005-09-09 09:19
2005.10.16
Внешнее объединение dbf в SQL запросе


3-1125991945
Tonich
2005-09-06 11:32
2005.10.16
Копировать Select из одной таблицы в другую


2-1127331630
highlander
2005-09-21 23:40
2005.10.16
Как правильно организовать поиск в таблице в приложении


2-1126885003
Plim
2005-09-16 19:36
2005.10.16
Цвет в Excel