![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]что значит
> подключить отчет
?
куда или к чему его подключить ?