collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 58
  • Punkt Versteckte: 2
  • Punkt Mitglieder: 8
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13804
  • stats Beiträge insgesamt: 63512
  • stats Themen insgesamt: 8606
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Access Makro aus Excel aufrufen  (Gelesen 264 mal)

Offline Diana2017

  • Newbie
  • Beiträge: 9
Access Makro aus Excel aufrufen
« am: November 07, 2017, 19:27:03 »
Hallo liebes Forum,

ich würde gerne aus Excel heraus meine Accessdatenbank (Access 2016) öffnen, dort ein Makro ausführen und im Anschluss die Datenbank wieder schließen.

Dafür habe ich folgenden VBA Code genommen:

Sub Access_aktualisieren()
Dim accApp As Object
Dim strMDBDatei As String

strMDBDatei = "C:\Users\Diana\Documents\Database1.accdb"


Set accApp = CreateObject("Access.Application")
    accApp.OpenCurrentDatabase strMDBDatei
    accApp.Run "MFillDB"
 
Set accApp = Nothing

End Sub

Er startet gut, jedoch stoppt er bei  accApp.Run "MFillDB" mit der Meldung: "Laufzeitfehler 2517, Prozedur wurde nicht gefunden."

Ich habe schon versucht, dem Makro einen anderen Namen zu geben, doch auch das  bringt nichts.

Hat jemand eine Idee, was der Fehler sein könnte?

 

Offline steffen0815

  • Access-User
  • *
  • Beiträge: 90
Re: Access Makro aus Excel aufrufen
« Antwort #1 am: November 07, 2017, 19:46:16 »
Hallo,
prinzipiell sollte es so funktionieren.
Also muss man zunächst davon ausgehen, dass es die Prozedur/Funktion "MFillDB" nicht gibt.

Wichtig:
Prozedur/Funktion <> Makro

Btw:
Prinzipiell würde ich allerdings die Art der Vorgehensweise hinterfragen. Was genau soll der Code in Access tun?
Gruß Steffen
 
Folgende Mitglieder bedankten sich: Diana2017

Offline Diana2017

  • Newbie
  • Beiträge: 9
Re: Access Makro aus Excel aufrufen
« Antwort #2 am: November 08, 2017, 08:43:00 »
Hallo Steffen,

vielen Dank für Deine Antwort. Ich habe ein Makro gebaut. Dieses ruft mir verschiedene Abfragen auf (Löschabfragen und Anfügeabfragen).

Aufgrund Deines guten Hinweise (danke  :)) habe es jetzt mal als Modul aufgebaut und ebenfalls unter "MFillDB" gespeichert. Es kommt wieder derselbe Fehler. Ich habe es dann mal als "Test" abgespeichert und habe wieder denselben Fehler.

Ich weiß mir langsam nicht mehr zu helfen.... :-\
 

Offline steffen0815

  • Access-User
  • *
  • Beiträge: 90
Re: Access Makro aus Excel aufrufen
« Antwort #3 am: November 08, 2017, 09:14:02 »
Hallo,
ein Modul darf nicht wie die Funktion/Prozedur heißen!!

Ein Modul ist im Normalfall ein Container für mehrere Prozeduren.

Benenne Module z.B. grundsätzlich mit einem "mod_" am Anfang.
Gruß Steffen
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23091
Re: Access Makro aus Excel aufrufen
« Antwort #4 am: November 08, 2017, 09:36:48 »
Hallo,

zusätzlich:

-- benenne das Makro um in "makMFillDB"
-- benutze statt Docmd.Openquery   Currentdb.Execute "Abfragename"
-- entferne  Docmd.Runcommand acCmdClose , Docmd.Quit und Docmd.Setwarnings  ...   
-- schreibe in JEDEN Modulkopf   OPTION EXPLICIT

Offline Diana2017

  • Newbie
  • Beiträge: 9
Re: Access Makro aus Excel aufrufen
« Antwort #5 am: November 08, 2017, 09:41:29 »
Hallo Steffen,

ich habe mein Modul nun "mod_FillDB" genannt, die Function heißt nach wie vor "MFillDB". Ich rufe nun "mod_FillDB" auf und bekomme immer noch den Fehler, dass die Prozedur nicht gefunden wurde. Auch wenn ich MFillDB reinschreibe, findet er sie nicht. Sorry, dass ich Dich gleich so beanspruche...
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23091
Re: Access Makro aus Excel aufrufen
« Antwort #6 am: November 08, 2017, 09:45:50 »
Hallo,

von einem Aufruf des "Moduls" hat keiner geredet.  Wenn die Prozedur MFillDB heißt, dann bleibt es bei
accApp.Run "MFillDB"


siehe auch mein vorangegangenes Posting

Offline steffen0815

  • Access-User
  • *
  • Beiträge: 90
Re: Access Makro aus Excel aufrufen
« Antwort #7 am: November 08, 2017, 09:46:17 »
Hallo,
Zitat
Ich rufe nun "mod_FillDB" auf
:(.
Natürlich darfst du nicht das Modul aufrufen, sondern die Prozedur.
Gruß Steffen
 

Offline Diana2017

  • Newbie
  • Beiträge: 9
Re: Access Makro aus Excel aufrufen
« Antwort #8 am: November 08, 2017, 09:51:52 »
Auch das funktioniert leider nicht...  :( er findet es nicht!

@Franz: danke für die Hinweise, ich baue es so ein!
 

Offline steffen0815

  • Access-User
  • *
  • Beiträge: 90
Re: Access Makro aus Excel aufrufen
« Antwort #9 am: November 08, 2017, 09:53:05 »
Hallo,
zeig mal bitte deinen aktuellen Stand in der DB.
- schau mal in den Taskmanager, ob noch irgendwelche Accessprozesse laufen
Gruß Steffen
 

Offline Diana2017

  • Newbie
  • Beiträge: 9
Re: Access Makro aus Excel aufrufen
« Antwort #10 am: November 08, 2017, 09:56:53 »
So sieht es bei mir Access aus. Ich habe die Function mit dem Namen "MFillDB". Sorry, ich weiß nicht, wie ich es sonst machen soll.
 

Offline Diana2017

  • Newbie
  • Beiträge: 9
Re: Access Makro aus Excel aufrufen
« Antwort #11 am: November 08, 2017, 10:00:38 »
Hallo Steffen, danke für Deine Geduld  :)
Access ist ganz zu ohne Hintergrundprozesse, wenn ich es aus Excel aus aufrufen möchte....
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23091
Re: Access Makro aus Excel aufrufen
« Antwort #12 am: November 08, 2017, 10:03:27 »
Hallo,

hast Du alle unsere Vorschläge umgesetzt?   (speziell das Umbenennen des gleichnamigen Makros!)

--schreibe (sicherheitshalber) zusätzlich vor Function noch Public hinzu:

Public Function MFillDB()


und Debuggen/kompiliere die DB im VBA-Editor nach dem Einsetzen von Option Explizit

Offline Diana2017

  • Newbie
  • Beiträge: 9
Re: Access Makro aus Excel aufrufen
« Antwort #13 am: November 08, 2017, 10:25:50 »
Hallo Franz,

ja, ich habe das Makro umbenannt, es heißt nun makro_MFillDB.
Ich habe alles so umgesetzt, wie ich es von Dir verstanden habe.

Das Modul im Access funktioniert einwandfrei, wenn ich es dort im Access aufrufe.
Wenn ich den VBA Code aus dem Excel ausführe, bekomme ich die Meldung: Laufzeitfehler 7952, Sie haben einen ungültigen Funktionsaufruf ausgegeben.

 
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23091
Re: Access Makro aus Excel aufrufen
« Antwort #14 am: November 08, 2017, 10:33:11 »
Hi,

an welcher Code-Stelle kommt denn der Laufzeitfehler?


setz einen Haltepunkt an den Anfang der Sub und fahre mit F8 den Code durch....