INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

ActiveX GetObject() von MS Access umsetzen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

24.10.2013, 14:26
Beitrag #1

phil.d Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2013

2012
2006
EN



Lightbulb ActiveX GetObject() von MS Access umsetzen
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 lv12_img, 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-Acces...-p/2600495

Danke,
philipp


Angehängte Datei(en)
12.0 .vi  c_printReportAccess.vi (Größe: 21,69 KB / Downloads: 298)

12.0 .vi  shellexecute.vi (Größe: 14,81 KB / Downloads: 310)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.10.2013, 10:08
Beitrag #2

phil.d Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Oct 2013

2012
2006
EN



Information RE: ActiveX GetObject() von MS Access umsetzen
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  MS Access über ActiveX Einträge lesen und schreiben Arachnoid 3 11.135 16.11.2015 19:46
Letzter Beitrag: Arachnoid
  "File Access Denied" nach EMail senden mit .NET Fidel90 3 5.458 03.11.2012 12:30
Letzter Beitrag: Fidel90
  ActiveX (LabVIEW als ActiveX Server) Neuling 1 10.331 25.01.2006 11:25
Letzter Beitrag: Neuling

Gehe zu: