ActiveX GetObject() von MS Access umsetzen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: ActiveX & .Net (/Forum-ActiveX-Net) +---- Thema: ActiveX GetObject() von MS Access umsetzen (/Thread-ActiveX-GetObject-von-MS-Access-umsetzen) |
ActiveX GetObject() von MS Access umsetzen - phil.d - 24.10.2013 14:26 Hallo, ich bin neu hier im Forum und habe folgendes Problem (VIs im Anhang). Ich habe 2 PCs, ein PC hat die Vollversion von Access, der andere PC nur die Runtime (True/False in meinem VI). Ich möchte über ActiveX einfach einen Report drucken. Der True Case (Access Vollversion) funktioniert ohne Probleme, alle Methoden und Properties sind verfügbar. Bei der Runtime-Variante funktioniert garnichts da das Refnum zur ActiveX Klasse "Access.ApplicationRuntime" null ist. Die Lösung dafür habe ich hier gefunden: http://support.microsoft.com/kb/210132/en-us --> Abschnitt: Run-Time Version of Microsoft Access --> Punkt 4. Zusammenfassend steht dort, dass man einfach per Shell die Accessdatei startet und danach per GetObject() Methode auf alle Access Methoden und Properties zugreifen kann. In dem Link ist das so dargestellt: Set objAccess = GetObject(strDBName) Ich habe keine Ahnung wie ich diese Code Zeile in LabVIEW umsetzen kann. Wie kann ich die GetObject() Methode auf meine Access Datei umsetzen? Programmiert ist es in , ich kann es aber auch runter konvertieren. OS: Windows7 32bit Im NI Forum habe ich es auch schon gepostet: http://forums.ni.com/t5/LabVIEW/MS-Access-Runtime-Activex-Object/td-p/2600495 Danke, philipp RE: ActiveX GetObject() von MS Access umsetzen - phil.d - 25.10.2013 10:08 Ich habe das Problem gelöst - jedoch anders als erwartet. Ich habe mir ein VBScript im texteditor erstellt accessReport.vbs, übergebe die Pfade zur Accessdatei als Argumente und rufe dann im LabVIEW das Ganze über das System Exec.vi auf: WScript.exe accessReport.vbs Pfad1 Pfad2 Pfad3 accessReport.vbs Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run(WScript.Arguments(1)) Set objAccess = GetObject(WScript.Arguments(1)) objAccess.DoCmd.OpenReport(WScript.Arguments(2)) objAccess.Quit acExit Falls jemand doch noch eine reine LabVIEW Lösung hat, bin ich gespannt. Grüße |