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

Вниз

Печать отчёта   Найти похожие ветки 

 
Washington   (2007-03-05 19:07) [0]

Ситуация такая. Имеется отчёт в БД Access. С помощью Delphi (вернее, программы созданной в Delphi) надо открыть этот отчёт и отправить на печать.


 
UMU ©   (2007-03-05 21:11) [1]

попробуй вот так:


> var
>   Access: Variant;
> begin
>   // Открываем Access
>   try
>     Access := GetActiveOleObject("Access.Application");
>   except
>     Access := CreateOleObject("Access.Application");
>   end;
>   Access.Visible := True;
>
>   // Открываем базу данных
>   // Второй параметр указывает - будет ли база открыта в
> Exclusive режиме
>   Access.OpenCurrentDatabase("C:\My Documents\Books.mdb",
>  True);
>
>   // открываем отч¸т
>   {Значение второго пораметра может быть одним из следующих
>   acViewDesign, acViewNormal, or acViewPreview. acViewNormal,
>
>   которые устанавливаются по умолчанию, для печати отч¸та.
>
>   Если Вы не используете библиотеку типов, то можете определить
>   эти значения следующими:
>
>   const
>   acViewNormal = $00000000;
>   acViewDesign = $00000001;
>   acViewPreview = $00000002;
>
>   Третий параметр - это имя очереди для текущей базы данных.
>
>   Четв¸ртый параметр - это строка для SQL-евского WHERE
> -
>   то есть строка SQL, минус WHERE.}
>
>   Access.DoCmd.OpenReport("Titles by Author", acViewPreview,
>  EmptyParam,
>     EmptyParam);
>
>   < ... >
>
>   // Закрываем базу данных
>   Access.CloseCurrentDatabase;
>
>   // Закрываем Access
>   {const
>   acQuitPrompt = $00000000;
>   acQuitSaveAll = $00000001;
>   acQuitSaveNone = $00000002;}
>   Access.Quit(acQuitSaveAll);
> end;


 
UMU ©   (2007-03-05 21:12) [2]

var
 Access: Variant;
begin
 // Открываем Access
 try
   Access := GetActiveOleObject("Access.Application");
 except
   Access := CreateOleObject("Access.Application");
 end;
 Access.Visible := True;

 // Открываем базу данных
 // Второй параметр указывает - будет ли база открыта в Exclusive режиме
 Access.OpenCurrentDatabase("C:\My Documents\Books.mdb", True);

 // открываем отч&#184;т
 {Значение второго пораметра может быть одним из следующих
 acViewDesign, acViewNormal, or acViewPreview. acViewNormal,
 которые устанавливаются по умолчанию, для печати отч&#184;та.
 Если Вы не используете библиотеку типов, то можете определить
 эти значения следующими:

 const
 acViewNormal = $00000000;
 acViewDesign = $00000001;
 acViewPreview = $00000002;

 Третий параметр - это имя очереди для текущей базы данных.
 Четв&#184;ртый параметр - это строка для SQL-евского WHERE -
 то есть строка SQL, минус WHERE.}

 Access.DoCmd.OpenReport("Titles by Author", acViewPreview, EmptyParam,
   EmptyParam);

 < ... >

 // Закрываем базу данных
 Access.CloseCurrentDatabase;

 // Закрываем Access
 {const
 acQuitPrompt = $00000000;
 acQuitSaveAll = $00000001;
 acQuitSaveNone = $00000002;}
 Access.Quit(acQuitSaveAll);
end;


торможу 8-)


 
Washington   (2007-03-06 14:41) [3]

Попробовал так. Вроде всё бы нормально, но функции GetActiveOleObject и CreateOleObject ему не нравятся. Говорит Undeclared identifier. В var"е всё замётано. В чём ошибка?


 
Плохиш ©   (2007-03-06 15:10) [4]


> Washington   (06.03.07 14:41) [3]


> В чём ошибка?

В нежелании пользоваться прилагаемой к делфи справкой.


 
Сергей М. ©   (2007-03-06 15:23) [5]


> Washington   (06.03.07 14:41) [3]


БД Access и Приложение MSAccess - вовсе не одно и тоже.

Разницу осюсяешь ?

Приложение MSAccess присутствует на данной машине ?


 
UMU ©   (2007-03-07 10:30) [6]


> В чём ошибка?


попробуй подключить библиотеку ComObj


 
Washington   (2007-03-07 12:49) [7]

Библиотеку ComObj подключил. Теперь говорит Invalid variant operation.
конечно есть. А если какое-то очередное извращение, устанавливающееся отдельно, то хто его знает. А справку я даже на великом и могучем читал. Вроде всё правильно. Ничо нового там нет.


 
Washington   (2007-03-07 13:07) [8]

Нет, уже не Invalid variant operation. Теперь операция не доступна.


 
UMU ©   (2007-03-07 19:11) [9]

Washington, проверь e-mail, там пример.



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

Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.038 c
2-1173656683
Ламер 2.Х
2007-03-12 02:44
2007.04.01
ProgressBar


15-1172177924
ДжекиМайер
2007-02-22 23:58
2007.04.01
АвтоРаспаковка *.nws чем ?


15-1173088085
vajo
2007-03-05 12:48
2007.04.01
Windows XP загрузили на процессоре с частотой 8 МГц


1-1170841579
Krants
2007-02-07 12:46
2007.04.01
TTreeView одинарым кликом открыть список


3-1168392288
NovaC
2007-01-10 04:24
2007.04.01
dBaseIV &amp; password





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский