Zusammenwirken Excel /access

11/12/2009 - 15:53 von Stefan Ruppel | Report spam
Hallo,
möchte mich nochmal bei Thomas Winkler / Thomas Möller für den Input
bedanken, hat super geholfen. --> Anfrage von Ende November

Meine Chefin hat sich nicht überzeugen lassen, und damit habe ich den
Anschluß Excel/Access realisieren müssen. Funktioniert auch jetzt prima.

Entscheidend um eine Funktion in einem anderen Office Produkt anzuzapfen ist
folgender Code:

Public accApp As New Access.Application
Function Simulation(PD, type_TR, Offset, Info)
If accApp.CurrentObjectName = "" Then
open2
End If

Simulation = accApp.Run("pd_index", PD, type_TR, Offset, Info)
End Function

Public Sub open2()
'öffne die entsprechende ProgrammDB

Dim sFile As String
sFile = "X:\Daten_200904_statisch.mdb"
accApp.AutomationSecurity = msoAutomationSecurityLow
accApp.OpenCurrentDatabase sFile, False
End Sub

An meine Funktion in Access übergebe ich Parameter (daher nicht in
Anführungszeichen setzen), in Access heißt die Funktion PD_index und muß in
der entsprechenden DB auch so vorhanden sein. Der o.g. Code ist für Excel
2007, dort heißt die Funktion "Simulation" und verhàlt sich ganz normal wie
jede andere Excel Funktion. Interessant ist die Codezeilemit der Security
Low: damit wird die automatische Sicherheitsabfrage umgangen, die die DB beim
Öffnen macht (bis ich darauf gekommen war hat ewig gedauert - das Problem ist
da eigentlich, daß man nur ganz schwer eingrenzen kann an welcher Stelle der
Fehler eigentlich auftritt). Aber ich denke das weiß ohnehin schon jeder, nur
ich nicht.

Um die DB mit dem Programm nicht dauernd auf - und zumachen zu müssen, was
Rechenzeit kostet, die Funktion 2, die nur dann gebraucht wird, wenn das
Objekt nicht existiert, d.h. auf dieser Basis bleibt die Session aktiv bis
das Rechenblatt zugemacht wird.
Auch der Umstand daß Excel 2007 eine Access 2003 DB aufmacht spielt keine
Rolle.

Vielleicht geht das ganze auch noch eleganter? Keine Ahnung aber das funzt
auch so gut (und sogar überraschend schnell!), und das wird eigentlich auch
benötigt, wenn ich meine Access DB in verschiedene Daten DB's aufteile - was
bei mir der fall ist und zusàtzlich noch ein zentrales Modulprogramm
vorhalten muß. D.h. ich brauche das gleiche auch von Access zu Access: das
habe ich aber noch nicht ausprobiert.

Ich bin auch der Meinung, daß man über Access die schönere Oberflàche
hinbekommt, aber in einer Umgebung, wo ohnehin die daten per String Copy nach
Excel weitergeladen werden (und vorher aus einem ORACLE Datawarehouse mittels
ODBC-Verknüpfung auf Access als Frontend gezogen werden) ist es eh schon
wurscht. Naja und ann will's halt auch die Chefin, und die bezahlt mein
Gehalt, alles easy enough.

Schönes Wochenende an alle!

Stefan Ruppel

PS hatte vorhin schon einen Post aufgemacht und dann zu schnell auf die
Tasten gedrückt - sorry!
 

Lesen sie die antworten

#1 Thomas Möller
11/12/2009 - 17:32 | Warnen spam
Hallo Stefan,

Stefan Ruppel schrieb:
möchte mich nochmal bei Thomas Winkler / Thomas Möller für den Input
bedanken, hat super geholfen. --> Anfrage von Ende November
Meine Chefin hat sich nicht überzeugen lassen, und damit habe ich den
Anschluß Excel/Access realisieren müssen. Funktioniert auch jetzt prima.




ich glaube, vor lauter Erlàuterungen hast Du vergessen Deine Frage zu
stellen - kann das sein?


CU
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen