collapse

* Benutzer Info

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

* Wer ist Online

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

* Forenstatistik

  • stats Mitglieder insgesamt: 14132
  • stats Beiträge insgesamt: 68385
  • stats Themen insgesamt: 9210
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Zugriff via VBA auf eigene Subs oder Funktionen in anderen Programmen  (Gelesen 897 mal)

Offline datekk

  • Access-Meister
  • ***
  • Beiträge: 716
Hi,

ich möchte gern von Outlook aus via VBA eigene Subs in meiner Access Datenbank ausführen. Ist dies möglich?

Beispiel:

in Modul in Access:
Public Function Rechnen (a as long, b as long) as Long
         Rechnen = a + b
End Function

So stelle ich mir das dann in Outlook VBA vor:

Sub RechnenPerAccess()

      Dim acc As Access.Application
      Set acc = GetObject(, "Access.Application")

      Debug.Print acc.Rechnen(10,20)

End Sub

Ist dies irgendwie möglich? Wenn ja, wäre es darüber hinaus auch möglich, die in Access aktuell im Speicher befindlichen Public Variablen abzurufen?

Danke schon mal für Eure Antworten.
 

Offline markus888

  • Access-Profi
  • **
  • Beiträge: 249
Dafür gibt es in Access die Run Methode.

LG Markus
10 Jahre Access
 

Offline PhilS

  • Global Moderator
  • Access-Profi
  • *****
  • Beiträge: 391
    • Tipps zu Access, VBA, SQL und Co.
ich möchte gern von Outlook aus via VBA eigene Subs in meiner Access Datenbank ausführen. Ist dies möglich?
[...]
Ist dies irgendwie möglich? Wenn ja, wäre es darüber hinaus auch möglich, die in Access aktuell im Speicher befindlichen Public Variablen abzurufen?
Für Sub-Prozeduren, wie du oben schreibst, ist die von Markus angeführte Run-Methode gut geeignet.

In deinem Beispiel hast du aber eine eigene Function gezeigt. Deren Rückgabewert bekommst du über Run meines Wissens nicht geliefert. Diesen könntest du mit der Eval-Funktion ermitteln. - Eval hat aber den Nachteil, dass der komplette Ausdruck, inkl. Parameter als String übergeben wird.

Auf Variablen kannst du grundsätzlich nicht zugreifen.

Neues Access 2019 Feature angekündigt: Modern Charts
 

Offline markus888

  • Access-Profi
  • **
  • Beiträge: 249
In deinem Beispiel hast du aber eine eigene Function gezeigt. Deren Rückgabewert bekommst du über Run meines Wissens nicht geliefert.

Funktionen gehen genauso.
Da würde ein Blick in die Hilfe oder ein einfacher Test weiterhelfen.  :)
10 Jahre Access
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1431
Prozeduren können auch in ihren Argumenten Werte zurückgeben, wenn sie als ByRef (das ist der Standard in VBA) deklariert sind. Das Ergebnis musst Du dann natürlich abholen.'In Access

Public Sub Addiere(ByVal Arg1 As Double, ByVal Arg2 As Double, Result As Double)
   Result = Arg1 + Arg2
End Sub
Und dann irgendo in den Weiten von Outlook ...   Dim Summe As Double

   DeineAccessInstanz.Run("Addiere", 10, 20, Summe)
   MsgBox Summe
Grüße von der (⌒▽⌒)
 

Offline PhilS

  • Global Moderator
  • Access-Profi
  • *****
  • Beiträge: 391
    • Tipps zu Access, VBA, SQL und Co.
Funktionen gehen genauso.
Da würde ein Blick in die Hilfe oder ein einfacher Test weiterhelfen.  :)
Der Blick in die Hilfe hat mich zu der Aussage gebracht. Dort wird nämlich zum Rückgabewert von Funktionen rein gar nichts gesagt.

Aber du hast recht. Der Rückgabewert einer Function wird direkt von Application.Run an den aufrufenden Code durchgereicht.
Danke! Wieder was dazugelernt!
Neues Access 2019 Feature angekündigt: Modern Charts
 

Offline datekk

  • Access-Meister
  • ***
  • Beiträge: 716
Klasse. Danke Euch.  :)
 

 

Zugriff auf Form erlauben, aber auf die zugehörige Tabelle sperren

Begonnen von mradlmaierBoard Access-Hilfe

Antworten: 10
Aufrufe: 11330
Letzter Beitrag Mai 21, 2010, 17:40:38
von mradlmaier
Zugriff per VBA auf Tabelle sperren

Begonnen von wega21Board Access Programmierung

Antworten: 6
Aufrufe: 8454
Letzter Beitrag Juni 29, 2010, 12:55:26
von wega21
Zugriff auf Kombinationsfeld in Unterformular

Begonnen von sigma5345Board Formular

Antworten: 5
Aufrufe: 5530
Letzter Beitrag Juli 01, 2010, 12:47:30
von sigma5345
zugriff auf Backend dauert zu lange

Begonnen von Muhtar99Board Access-Hilfe

Antworten: 2
Aufrufe: 2796
Letzter Beitrag Juli 15, 2010, 14:07:32
von Muhtar99
DB-Hintergrund vor Zugriff sichern

Begonnen von dpj_deBoard Access-Hilfe

Antworten: 2
Aufrufe: 2925
Letzter Beitrag Juli 21, 2010, 10:12:22
von Kiui