Rechen-Funktionen von Excel ausleihen

Excel verwöhnt den Anwender mit statistischen, finanzmathematischen oder ähnlich anspruchsvollen Funktionen. Access-Anwender können dagegen nur auf einen stark eingeschränkten Vorrat dieser Formeln zugreifen. Kein Grund sich zu ärgern, denn CHIP verrät Ihnen, wie sich Access die Funktionen von Excel ganz einfach ausleihen kann. Dieser Tipp zeigt, wie es funktioniert – und das mit nur wenigen unkomplizierten Handgriffen.

Dazu zeigt CHIP anhand der Funktion »Fakultät«, wie die Lösung laut der Microsoft-Online-Hilfe aussieht und stellt dieser dann die bessere CHIP-Lösung gegenüber.

Die Funktion »Fakultät« multipliziert eine Zahlenreihe miteinander. Und so sieht die Funktion aus nach der Online-Hilfe aus – dort dient sie sogar als Musterbeispiel:



Function Fakultaet(Zahl As Double) As Double
If Zahl <= 1 Then
Fakultaet = 1
Else
Fakultaet = Fakultaet(Zahl - 1) * Zahl
End If
End Function



Jetzt bereiten Sie die Lösung mit Hilfe der Excel-Formel vor. Zunächst schaffen Sie dafür eine Verbindung zwischen Datenbank und Tabellenkalkulation, indem Sie einen Verweis auf die Klassenbibliothek von Excel erzeugen. Dazu aktivieren Sie im Datenbankfenster das Register »Module«, klicken auf die Schaltfläche »Neu« und rufen den Befehl »Extras | Verweise« auf. Im folgenden Dialog aktivieren Sie den Eintrag »Microsoft Excel 8.0 Object Library«.

Mit Hilfe des Objektkatalogs können Sie sich jederzeit einen Überblick über die momentan verfügbaren Objekte und Methoden verschaffen. Dieses Werkzeug ist über den Menübefehl »Ansicht | Objektkatalog« oder die Taste [F2] leicht zu erreichen.

Nun haben Sie die Möglichkeit, aus Ihrem Access-Modul verschiedene Objekte von Excel mit ihren Eigenschaften und Methoden anzusprechen. So nutzen Sie zur Berechnung der Fakultät die Methode »fact« des Excel-Objekts »WorksheetFunction«. Der Quelltext schrumpft damit auf gerade noch drei Zeilen, und Ihnen bleibt die umständliche Programmierung der Funktion erspart:


Function Fakultaet(Zahl As Double) As Double
Fakultaet = Excel.WorksheetFunction.Fact(Zahl)
End Function




Auf diese Weise können Sie auf den gesamten Formelkatalog in Excel zugreifen.