collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 54
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13808
  • stats Beiträge insgesamt: 64171
  • stats Themen insgesamt: 8679
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: OLE Object - Excel Pivot  (Gelesen 118 mal)

Offline Schakal

  • Newbie
  • Beiträge: 40
OLE Object - Excel Pivot
« am: November 27, 2017, 18:36:22 »
Hallo Access Profies,
ich habe bereits im Internet gesucht aber irgendwie komme ich nicht zurecht.
Folgendes Problem habe ich:
Ich möchte aus einer Abfrage in Access eine PivotChart erstellen. Da dies in Access 2013/2016 nicht mehr möglich ist gibt es im Internet ein "Workaround". Dies habe  ich mir angeeignet und auch so aus geführt, funktioniert wunder bar. Die Excel PivotChart habe ich über ein oleObject in eine Tabelle eingebunden und rufe dieses über ein Formular wieder  auf- Alles klappt soweit wunderbar.

Nun  habe ich folgendes kleines Problem und ich denke das mir hier jemand helfen kann.
Wenn ich nun die Abfrage Aktualisiere, erscheinen dort die neuen Werte aber diese erscheinen nicht in der PivotChart ausser wenn ich auf die PivotChart dopple klicke öffnet sich Excel und ich kann die Daten (PivotChart) "Manuel" aktualisieren.

Ich habe nun versucht dies über einen VBA-Code zu machen damit dies automatisch geschieht - Scheitere aber hier.

Ich habe mit
Me.Requery
Me.objExcel.Requery     'objExcel ist das OLEObject

Beim Laden, bei Fokuserhalt usw. Aber habe  kein Erfolg.
Wie aktualisiere ich ein oleObjekt (objExcel - Excel -PivotChart) per VBA-Code?

Danke- mal wieder für Eure hilfe.

 

Offline Frithjiof

  • Access-User
  • *
  • Beiträge: 57
Re: OLE Object - Excel Pivot
« Antwort #1 am: November 27, 2017, 21:34:06 »
Halllo Schakal,

ich mache es, wenn gar nichts mehr geht, so.

Me.XXX.RowSource = Me.XXX.RowSource

Ob das auch mit OLEPbjecten geht weiß ich aber nicht.

Frithjof
 
Folgende Mitglieder bedankten sich: Schakal

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 935
Re: OLE Object - Excel Pivot
« Antwort #2 am: November 27, 2017, 23:41:06 »
Das Ablaufprinzip:
* ggf. Enable auf True setzen
* ggf. Locked auf False setzen
* OLE-Rahmen fokussieren
* Action auf acOLEActivate setzen
* Referenz auf Objekt-Instanz holen
* Referenz automatisieren
* Fokus entziehen
* ggf. Locked auf True setzen
* ggf. Enabled auf False setzen

'Luftcode (ungetestet)
'
'nur so oft ausführen wie nötig und nicht wie möglich
Private Sub RefreshOLEFrame()
   Dim sheet As Object
   Dim intI As Integer

   With Me.MeinUngebundenerRahmen
      .Enabled = True
      .Locked = False
      .SetFocus
      .Action = acOLEActivate
      'musst Du ggf. anpassen
      .Object.Application.Workbooks(1).WorkSheets(1).PivotTables(1).RefreshTable
      Me.EinAnderesSteuerelement.SetFocus
      .Locked = True
      .Enabled = False
   End With
End Sub
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: Schakal

Offline Schakal

  • Newbie
  • Beiträge: 40
Re: OLE Object - Excel Pivot
« Antwort #3 am: November 28, 2017, 08:45:55 »
Guten Morgen Lachtaube,
Dankeschön für Deine Hilfe das hat funktioniert.
Alles gut.