PDF in Microsoft Access

by Damiaan Peeters 30. January 2008 09:46

Even een korte uitleg hoe deze werken.
Je hebt 2 delen.
1) De printer
De printer is meestal niet meer dan een printer met een gewone generic Printer driver die PostScript (PS) creert.  
Als je de driver zo instelt dat alles wordt opgeslagen naar een bestand, dan kan het tweede deel in gang treden.
2) de PDF generator  (zeg maar de acrobat distiller)
Als een nieuw bestand wordt ontdekt in een bepaalde directory, dan wordt de PostScript omgezet naar PDF.  Aangezien de gelijkenis hier zeer groot is, doen deze programma's dat zonder problemen.

[more]
Een gratis programma dat dit doet is GhostScript (http://pages.cs.wisc.edu/~ghost/doc/GPL/index.htm).  Dit wordt ook regelmatig gebruikt door andere PDF Printers.

Ik heb enkele programma's gevonden die een DEVELOPER API aanbieden.  Deze zijn meestal vrij duur voor zover ik prijzen heb teruggevonden.  De prijzen varieerden tussen de paar honderd dollar en zelfs meer dan 1000 dollar.

  • PrimoPDF (http://www.primopdf.com/)
  • ActivePDF: gelinkt aan PrimoPdf volgens mij, én zeer duur http://www.activepdf.com/
  • CutePDF: maakt overigens gebruik van Ghostscript. (http://www.cutepdf.com/Products/CutePDF/writer.asp)
  • ExpertPDF (http://www.html-to-pdf.net)
Enkele alternatieven (zonder dev. api), maar wél gratis.

  • PDF4Free (gratis) http://www.pdfpdf.com/pdf4free.html
  • Bullzip Pdf Printer (gratis) http://www.bullzip.com/products/pdf/info.php
...  Hier vind je er zéér veel van terug.  Opgelet sommigen hebben reclame aan boord...

Andere formaten

Waarom PDF?  Er zijn ook alternatieven die goed verspreid zijn...
Microsoft heeft er 2 in petto.

De eerste noemt  MDI (Microsoft Office Document Image Format), zit in de office versies vanaf Office XP dacht ik.
(http://office.microsoft.com/en-gb/help/HP010771031033.aspx)
Een whitepaper hierover (niet gelezen): Office 2003: Microsoft Office Document Imaging Visual Basic Reference (MODI) (exe): 

XPS kan je gebruiken als je hetzelfde effect wil, maar gebaseerd op XML!
Dit zou naar de toekomst toe dus veiliger zijn dan een propriaty format...
Hier kan je de viewer & writer downloaden indien je die nog niet zou hebben: http://www.microsoft.com/whdc/xps/viewxps.mspx
Dit is een printer driver en vervangt dus alle bovenstaande rommel (!).

Hoe te gebruiken

Voila... Dat is een hele brok.  Pdf, xps, mdi, ...  Maar dan heb je natuurlijk enkel (virtuele) printers.
Dan moet je in VBA de code hebben om zo'n printer aan te sturen, maar dat lijkt niet zo moeilijk te zijn.  Ik heb net dit (http://www.vbaexpress.com/forum/archive/index.php/t-4205.html) gevonden voor excel, maar ik vermoed dat het in Access niet veel anders zal zijn?

Sub Macro1()
Application.ActivePrinter = "Microsoft Office Document Image Writer on Ne01:"
ActiveSheet.PrintOut PrToFileName:="C:\Atest1.mdi"
End Sub 
Volgens mij werkt dit soort code met ongeveer ELKE virtuele printer die hierboven is beschreven.
Als je het mij zou vragen, probeer MDI en XPS zeker eens uit!  Het klinkt niet zo sexy als PDF, maar het is ook de moeite waard volgens mij.  En zoals gezegd, dat gaat voor elke virtuele printer werken...  

Zo ... Ik hoop dat je er iets mee bent.

Strange Microsoft Access Error on ADP project (Sql Server 2005 Extended Properties)

by Damiaan Peeters 2. December 2007 23:51

Today I got a very strange error on my Microsoft Access ADP Project.

image

Microsoft Office Access can't find the object 'SELECT *, sql_variant_property(value, 'basetype') AS type FROM ::fn_litextendedproperty(N'MS_DisplayViewsOnSharePointSite', N'user', N'dbo', N'table', N'TableName', NULL, NULL)'.

To be honest, I had no idea what this meant.  Neither the explanation followed by this error.
After thinking a little while, I found the solution.

Earlier today I tried to add a database schema.  And deleted it afterwards. 

If you look at the tables changed by the database schema, and the tables which where not involved, the only difference are the Extended Properties on the tables.  The tables with extended properties will also give this error in Microsoft Access 2007.  For the record, I am using SQL Server 2005 for this project.

The solution

What you need to do: open the table properties in Microsoft SQL Server Management Studio.
Then go the extended properties. 

image

 

When I deleted the MS_Filter, MS_OrderBy my problem was gone.

Who.I.am

Certified Umbraco Master, Part of Umbraco Certified partner comm-it, .Net and Azure developer, seo lover. Magician in my spare time.

Month List