Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: ritzenflitzer am Januar 11, 2021, 09:40:17

Titel: Excel/Access 2019: Benutzerdefinierte Funktion in Abfrage/Datenverbindung
Beitrag von: ritzenflitzer am Januar 11, 2021, 09:40:17
Hallo

in einer Access-Abfrage verwende ich eine benutzerdefinierte Funktion (public function), die ich auch in Excel verwende. In beiden Anwendungen liefert der Funktionsaufruf korrekte Werte.

Wenn ich nun aber via einer PowerQuery-Datenverbindung aus Excel heraus diese Access Abfrage abrufe, kann Excel die Datenverbindung nicht herstellen. Ich muss dann dieses Feld, das auf den Funktionsaufruf verweist, entfernen, in der Access-Abfrage entfernen. Dann geht die Datenverbindung wieder.
Problem ist, dass ich aufgrund der vielen Datensätze (50.000 +) das gerne in Access gerechnet haben möchte, und nicht in Excel, weil dort schon fast 800.000 Formeln bei Aktualisierung immer zu rechnen sind.

Kann man da irgendwas machen, dass die Datenverbindung trotzdem diese Formel "versteht" und aufrufen kann?

Grüße
Titel: Re: Excel/Access 2019: Benutzerdefinierte Funktion in Abfrage/Datenverbindung
Beitrag von: steffen0815 am Januar 11, 2021, 10:24:18
Hallo,
nmK. kannst du für diese Verbindung keine VBA Funktionen nutzen.
Du müsstest versuchen, die Funktionalität mit SQL umzusetzen oder aus Access selbst eine Exceltabelle zu generieren.
Titel: Re: Excel/Access 2019: Benutzerdefinierte Funktion in Abfrage/Datenverbindung
Beitrag von: ebs17 am Januar 11, 2021, 12:32:01
Zitatfast 800.000 Formeln
Das ist doch das eigentliche Mengenproblem und zusätzlich angesichts der Möglichkeiten von Power Query, das eh schon im Einsatz ist, ein merkwürdiger Umstand.

Den Hinweis von Steffen möchte ich unterstreichen: Der sogenannte Expression Service macht Access-, VBA- und benutzerdefinierte Funktionen in Jet-SQL nutzbar, um den sehr mageren Befehlsumfang von Jet-SQL erheblich zu ergänzen. Allerdings wirkt dieser Expression Service nur direkt in Access und ist mit Außenzugriffen nicht nutzbar.
Titel: Re: Excel/Access 2019: Benutzerdefinierte Funktion in Abfrage/Datenverbindung
Beitrag von: ritzenflitzer am Januar 11, 2021, 14:38:32
OK, danke erstmal für die betrüblichen Antworten :'(

Dass das so viele Formeln sind liegt halt an den vielen Datensätzen, die sich allerdings größtenteils aus unterschiedlichen Tabellenstrukturen generieren und sich deshalb nicht so joinen lassen. Und wenn man dann in einer Tabelle allein für jeden DS 46 Werte zusätzlich generieren muss, berechnete Felder und Formeln außerhalb der Pivottables rechnen lassen muss, weil das die Pivots so nicht hergeben, was man braucht und dann noch einige globalen Variablen generieren muss......
Ich schau mir aber nochmal die Join-Möglichkeiten in Excel an, vielleicht kann ich das ein oder andere entschärfen.
Titel: Re: Excel/Access 2019: Benutzerdefinierte Funktion in Abfrage/Datenverbindung
Beitrag von: ebs17 am Januar 11, 2021, 15:26:56
Zitatallein für jeden DS 46 Werte zusätzlich generieren muss
Manchmal muss man auch einfach Abfragetechnik in der Datenbank selber beherrschen, z.B. Grundlagen - SQL ist leicht (1) - Hilfstabellen (https://www.ms-office-forum.net/forum/showthread.php?t=298414).

VBA ist der Ausweg für Dinge, die SQL nicht kann oder nur sehr umständlich lösen könnte. Allzu schnell ist es aber auch nur der Ausweg für jene Entwickler, die einen unzureichenden Zugang zur nativen Sprache einer Datenbank haben.