1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | Neevia.docCreator DC = new Neevia.docCreator(); DC.setParameter("DocumentOutputFormat", "PDF"); DC.setParameter("DocumentOutputName", "testACCESS_CSHARP"); DC.setParameter("DocumentOutputFolder", @"c:\users\public\"); DC.setParameter("PDFAutoRotatePage", "All"); int RVal = DC.startPrinting(); if (RVal != 0) { MessageBox.Show("Error while calling StartPrinting method!!!"); } // This works only with Access 2003 Microsoft.Office.Interop.Access.Application objAccess = new Microsoft.Office.Interop.Access.Application(); // This works only with Access 2000 and XP // Access.Application objAccess = new Access.Application(); string defPrinter = DC.getDefaultPrinter(); DC.setDefaultPrinter(DC.newPrinterName()); objAccess.OpenCurrentDatabase(@"c:\users\public\access.mdb", true, ""); object RN = System.Reflection.Missing.Value; // The lines below work only with Access 2003 objAccess.DoCmd.OpenReport("rptCatalog", 0, RN, RN, Microsoft.Office.Interop.Access.AcWindowMode.acHidden, RN); //rptCtatalog is the repport name objAccess.Quit(Microsoft.Office.Interop.Access.AcQuitOption.acQuitSaveNone); // The lines below work only with Access 2000 and XP // objAccess.DoCmd.OpenReport("rptCatalog", 0, RN, RN, // Access.AcWindowMode.acHidden, RN); // objAccess.Quit(Access.AcQuitOption.acQuitSaveNone); objAccess = null; DC.setDefaultPrinter(defPrinter); DC.setParameter("DocumentResolution", "300"); RVal = DC.create(); // Create output document if (RVal != 0) { MessageBox.Show("Error. create returns " + RVal); } RVal = DC.stopPrinting(); if (RVal != 0) { MessageBox.Show("Error while calling stopPrinting method!!!"); } DC = null; if (RVal == 0) { MessageBox.Show("Done !!!"); } |