collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 75
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14129
  • stats Beiträge insgesamt: 68347
  • stats Themen insgesamt: 9206
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Abfrage in fremder Access Datenbank mit VBA-Funktion  (Gelesen 123 mal)

Offline Milvus

  • Newbie
  • Beiträge: 42
Abfrage in fremder Access Datenbank mit VBA-Funktion
« am: November 30, 2018, 16:15:59 »
Tach in die Runde,

ich habe eine neue Schwierigkeit.

Was ich möchte: Ich habe in zahlreichen Access Frontends gespeicherte Abfragen. Diese möchte ich aus einem anderen Frontend aufrufen. Das funktioniert auch soweit!

Wenn aber eine Abfrage eine VBA-Funktion benutzt (und leider gibt es davon viele), dann bekomme ich beim Ausführen der Abfrage die Meldung: Funktion xyz nicht definiert oder gefunden (oder so ähnlich), VB kennt also die Funktion nicht.

Wenn ich das fremde VBA-Projekt im VBA Editor per Verweis setze, dann läuft das.

So will ich das aber nicht!!!

Ich will das Teil ohne expliziten Verweis zum Laufen bringen.

Folgendes schon versucht:

Versucht über eine public Function im Fremden Frondend die Abfrage quasi Frontendintern auszuführen, gleiche Meldung (also obwohl die Funktion in dem Frontend mit der Funktion steckt)

Versucht das Gleiche mit Zwischenschritt über ein public Klassenmodul einzuleiten (gleiche Meldung)

Versucht das ganze mit der Definition eines Datenbankobjekts auszuführen also die fremde Datenbank als DAO.Db initialisiert (gleiche Meldung)

Und das Ganze dann auch statt CurrentDB mit CodeDB (gleiche Meldung)

Mir gehen die Ideen aus. Ist VBA wirklich so doof?


 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 948
Re: Abfrage in fremder Access Datenbank mit VBA-Funktion
« Antwort #1 am: November 30, 2018, 16:44:28 »
Das hat mit VBA an der Stelle weniger zu tun.

Abfragen (SQL) werden in Access von der Jet-Engine bzw. ACE (=DB-Maschine) ausgeführt. Der eigentliche Sprachschatz der zugehörigen Spache Jet-SQL ist sehr schmal, allerdings lassen sich über den sogenannten Expression Service Funktionen der VBA-Bibliothek, des Access-Objektes und eigendefinierte Funktionen einbinden und unmittelbar verwenden. Dadurch wird dann vieles möglich. Allerdings wirkt dieser Expression Service nur aus der eigenen Datei heraus und somit nur mit dort vorhandenen Funktionen.

Zitat
Ich habe in zahlreichen Access Frontends gespeicherte Abfragen. Diese möchte ich aus einem anderen Frontend aufrufen.
Die Fernsteuerung von externen Frontends scheint für Dich selbstverständlich zu sein, ich sehe das diskutabel. Warum gibt es nicht ein richtiges Frontend?
Diese Fragestellung würde auch Dein Vorthema berühren.
Mit freundlichem Glück Auf!

Eberhard
 

Offline Milvus

  • Newbie
  • Beiträge: 42
Re: Abfrage in fremder Access Datenbank mit VBA-Funktion
« Antwort #2 am: November 30, 2018, 19:46:25 »
Die Fernsteuerung von externen Frontends scheint für Dich selbstverständlich zu sein, ich sehe das diskutabel. Warum gibt es nicht ein richtiges Frontend?
Diese Fragestellung würde auch Dein Vorthema berühren.

Nich selbstverständlich, notgedrungen! Mir liegen ein Dutzend Frontends vor, die nich von mir stammen aber die ich betreuen muss.
In gewisser Weise hat man versucht, die Dinger grob nach Bereichen einzuteilen. Somit hat sich der Code vervielfältig und verselsbtständigt.

Damit versuche ich irgendwie zurecht zu kommen. Meine Entwicklungen sind modular, d.h. sie funktionieren ohne Fremdobjekte oder Code. Ich kopiere die irgendwo rein und gut. Ich will das Teil halt nicht nocht schlimmer machen.

Zu den Abfragen: Ich möchte die zentral ansteuern und dort lassen wo sie sind. Der unbedarfte Vervielfältigungsansatz steuert schon mit Volldampf in die Richtung, das Prolem einfach wieder zu vervielfältigen, in dem Abfragen und benötigter Code wiederum in einem extra Abfragen-Frontent zusammen gestellt werden.  :-\
 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 948
Re: Abfrage in fremder Access Datenbank mit VBA-Funktion
« Antwort #3 am: November 30, 2018, 20:46:40 »
Weiterer Gedanke: Dass Funktionen in Abfragen gegeben sind, wird kritiklos an- und übernommen?
Ich schreibe gerne Abfragen, und da kommen eher wenige Funktionen vor, eine Restmenge könnte man auch lokal beherrschen.
Vielfach werden Funktionen aber eingesetzt, weil das KnowHow für richtige Abfragen fehlt.

Wenn man also ein gründliche Analyse betreibt, was  Abfragen sowie darin verwendete Funktionen so machen, könnte es im Ergebnis leicht sein, dass da der Funktionsumfang erheblich ausgedünnt werden kann.

In einer professionellen Umgebung wird man dann eher auf ein aktives DBMS als Backend setzen. Wesentliche Abfrage- und Verarbeitungslogik wird man schon aus Performancegründen ins Backend verschieben, das dort auch einen deutlichen reichhaltigeren Sprachumfang beim verwendeten SQL-Dialekt bietet. Daneben dann auch eine Zentralisation der Verarbeitungslogik, womit dann den Frontends Restarbeiten und Darstellungsumsetzung verbleiben.
« Letzte Änderung: Dezember 01, 2018, 11:15:39 von ebs17 »
Mit freundlichem Glück Auf!

Eberhard
 

Online markus888

  • Access-Profi
  • **
  • Beiträge: 247
Re: Abfrage in fremder Access Datenbank mit VBA-Funktion
« Antwort #4 am: Dezember 01, 2018, 11:29:54 »
So will ich das aber nicht!!!

Immerhin weißt du welche Methoden funktionieren würden.  ;D ;D
Eine gewisse Sturheit ist ja grundsätzlich nicht schlecht.
Idealerweise ist die aber von Grundkenntnissen und etwas tieferem Verständnis begleitet.
So wirkt das wie die Aussage eines nach Selbständigkeit ringenden Kindes, das glaubt alles besser zu wissen wie die Eltern.
« Letzte Änderung: Dezember 01, 2018, 13:58:44 von markus888 »
10 Jahre Access
 

Offline Milvus

  • Newbie
  • Beiträge: 42
Re: Abfrage in fremder Access Datenbank mit VBA-Funktion
« Antwort #5 am: Dezember 02, 2018, 09:13:44 »
Vielfach werden Funktionen aber eingesetzt, weil das KnowHow für richtige Abfragen fehlt.

Ja so ist es, daher kommt der ganze Kram, er ist halt nun mal da und ich muss damit leben.
 

Offline Milvus

  • Newbie
  • Beiträge: 42
Re: Abfrage in fremder Access Datenbank mit VBA-Funktion
« Antwort #6 am: Dezember 02, 2018, 09:18:31 »
So will ich das aber nicht!!!
So wirkt das wie die Aussage eines nach Selbständigkeit ringenden Kindes, das glaubt alles besser zu wissen wie die Eltern.

Naja  ::)
Sach in mal nix zu. Kommen wir irgendwie vom Thema ab.

Aber ich hab was gefunden, ...
Ich hab das Ganze innerhalb einer Access-Applikation versucht. Da liegt denke ich die Ursache  ;)

Habe eine neue Instanz einer Access Applikation geöffnet und darin ein Makro angestoßen, dass die Abfrage mit der Funktion ausführt. Siehe da!!! Eigentlich logisch oder?
 

 

Datensatzzähler in einer Abfrage

Begonnen von peterBoard Tabelle/Abfrage

Antworten: 6
Aufrufe: 13869
Letzter Beitrag Juni 16, 2010, 16:32:34
von cyorps
Abfrage für Terminüberschneidungen und visuelle Darstellung

Begonnen von centaurusBoard Tabelle/Abfrage

Antworten: 3
Aufrufe: 6382
Letzter Beitrag Januar 21, 2011, 21:30:14
von cy_one_1
Datenerfassung mit Abfrage

Begonnen von Daniel-GSBoard Tabelle/Abfrage

Antworten: 2
Aufrufe: 5542
Letzter Beitrag Mai 05, 2010, 22:52:18
von oma
SQL Abfrage DELETE rückgängig machen??

Begonnen von hmfmartinBoard Tabelle/Abfrage

Antworten: 1
Aufrufe: 7329
Letzter Beitrag Mai 08, 2010, 19:18:08
von MzKlMu
6 Mio Datensätze bei Abfrage

Begonnen von JohannaBoard Tabelle/Abfrage

Antworten: 11
Aufrufe: 8888
Letzter Beitrag Mai 19, 2010, 12:29:47
von Wurliwurm