Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
2-1126641667
keal
2005-09-14 00:01
2005.10.16
Как сделать сервер по типу icq?


14-1127795407
Kerk
2005-09-27 08:30
2005.10.16
Налоги


8-1117084077
Hilbert
2005-05-26 09:07
2005.10.16
Графическое отображение учебного расписания


4-1124127936
Eagle Owl
2005-08-15 21:45
2005.10.16
Создание окна с содержимым на WinAPI


9-1115116527
Zwein
2005-05-03 14:35
2005.10.16
Воспроизведение звука




   Наверх