Что нового

формирование и печать документов-бланков

Genics

Новичок
Сообщения
39
Репутация
0
XpycT

AutoIT создать файл базы данных SQLite .db (с этим проблем НЕТ!)
А экзешник созданный на VB подключится. (с этим проблема!)

Я пробовал снова разные варианты но безуспешно.
С файлами Access mdb соединяется без проблем, но стоит дать ему файл .db пишет не верный формат файла.
 

XpycT

Скриптер
Сообщения
380
Репутация
133
Genics
Можешь показать исходник экзешника VB?
 

Genics

Новичок
Сообщения
39
Репутация
0
XpycT - Спасибо! У меня получилось :laugh:

Благодаря твоей ссылке Connection strings for SQLite нашел SQLite3 ODBC Driver
Установил. VB его увидел. Настроил подключение и все работает.

По поводу кода там всего одна строка в одной процедуре:

Private Sub Form_Load()

DataReport1.Show

End Sub

Остальное все настройки:
Поставщик данных: Microsoft OLE DB Provider for ODBC Drivers
Использовать строку подключения:DSN=dsname;Database=C:\Base\info.db;StepAPI=0;Timeout=50
Начальный каталог:C:\Base\info.db

Ну и создается сам шаблон документа с использованием элементов управления (отображения) и привязки к ним в их свойствах к полям таблицы. ВСЕ!
Прога на AutoIT создает файл tempinfo.db c инфой для отчета с заранее определенными полями. заносит туда данные затем запускает tempinfo.exe в котором сидит готовый шаблон документа. Открывается предварительный просмотр документа который можно распечатать нажав на кнопку принтера.

Конечно у этого DataReport возможности по работе с листом и графикой не как у Worda :smile: но хоть что-то.
Еще не разобрался как менять формат листа с книжного на альбомный и с А4 на А3.

Да, и похоже что драйвер SQLite3 ODBC Driver надо ставить на все машины где он будет работать. почему-то в экзешник VB он не внедряется. Но средствами AutoIta это не проблема.
 

vcomp71

Осваивающий
Сообщения
431
Репутация
25
Век живи - век учись.. Нашел компоненту ocx для работы с excel-файлами...
Бесплатную...
http://yoksel.net.ru/HomePage
 

kristow13

Новичок
Сообщения
76
Репутация
0
Использую как образец, вот этот код. Он отлично работает!
Код:
$sFasrReport_dll = @SystemDir & "\fastreport3.dll" ; путь к установленной библиотеке
If FileExists ($sFasrReport_dll) = 0 Then ; если файл не существует
    FileCopy (@ScriptDir & "\fastreport3.dll", $sFasrReport_dll, 1) ; копируем в системную папку
    RunWait(@SystemDir & '\regsvr32.exe /s ' & $sFasrReport_dll) ; регистрируем компонент в системе
EndIf

$sReportFile = @ScriptDir & "\my.fr3"
$sLanguage = @ScriptDir & "\Russian.frc"
$fr = ObjCreate("FastReport.TfrxReport")
$res = $fr.Resources
$res.LoadLanguageResourcesFromFile($sLanguage)
$fr.LoadReportFromFile($sReportFile)

$fr.ShowReport

While 1
    sleep (100)
WEnd

Я до этого не работал с COM объектами. Подскажите как можно из скрипта передать в шаблон отчета строку подключения к базе? Ну или хотя бы передачи ip адреса в настройки подключения самого шаблона... :(
т.е. я делаю шаблон, в шаблоне прописываю всё, в том числе и строку подключения. Если сервер меняет ip адрес с базой, то шаблон работать не будет, хочу передавать ip в шаблон.
Есть варианты? или так не делается через fastreport.dll ? :stars:
 

SA

Новичок
Сообщения
2
Репутация
0
PrintMG.au3
http://www.autoitscript.com/forum/topic/51054-printing-using-udf-and-a-dll/#entry386214
 
Верх