Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1040to1044
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

externe Datenquelle Pivot ändern

externe Datenquelle Pivot ändern
16.01.2009 07:32:00
magicman
Hallo Experten,
ich habe ein mittelschweres Problem:
Wegen Serverumstellungen hat sich der Pfad meiner Access-Datenbank geändert.
Auf diese Datenbank greifen rund 45 Excel-Files mit jeweils 2 Pivottables zu.
Wie kann ich in den Excel-Dateien die Pfadangabe der externen Datenquelle der Pivottables ändern?
Im Assistenten auf "Zurück" bringt leider keinen Erfolg, da kann ich nur die Tabellen der alten Datenquelle anpassen, nicht jedoch den Pfad.
Wer hat eine Idee?
Gerne auch VBA.
Gruß
Michael

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: externe Datenquelle Pivot ändern
16.01.2009 09:06:00
Luschi
Hallo Michael,
schau Dir mal diesen Beitrag von mir an: http://www.spotlight-wissen.de/archiv/message/1626454.html
Da gibt es einen Link zu einer Zip-Datei, die nach dem Entpacken als xla-AddIn im Excel installiert wird.
Nach dem Öffnen der Arbeitsmappe mit den Pivot-Tabellen gibt es im Menü 'Daten' einen Unterpunkt
'Datenherkunft Pivot...'
Im darauf erscheinenden Formular kann man die Datenquelle für Access-Dateien ändern.
Gruß von Luschi
aus klein-Paris
AW: externe Datenquelle Pivot ändern
16.01.2009 09:12:55
magicman
Hallo Luschi,
danke für die Datei. Ich habe grad keine Zeit zum Testen. Melde mich heute nachmittag ob das so funktioniert wie gewünscht.
Aber bei Dir habe ich da keine Bedenken.
Gruß
Michael
Anzeige
Danke! Eine Frage noch
16.01.2009 10:41:00
magicman
Hallo Luschi,
das funktioniert wunderbar.
Aber wenn ich den Pfad ändere stürzt das Makro mit Laufzeitfehler 1004 ab.
Die Änderung wird aber für die Pivot und für die auf die gleiche Datenquelle zugreifende 2. Pivot in der Tabelle durchgeführt. Kann ich das irgendwie abstellen?
Danke für die Hilfe - jetzt kann ich mich in die Arbeit stürzen.
Gruß
Michael
AW: Danke! Eine Frage noch
16.01.2009 11:53:04
Luschi
Hallo Michael,
habe am AddIn noch ein bischen herumgewerkelt und 2 Flüchtigkeitsfehler beseitingt.
Zudem habe ich die Meldungsboxen entfernt (war ja lästig!).
https://www.herber.de/bbs/user/58477.zip
Gruß von Luschi
aus klein-Paris
Anzeige
Altes Problem gelöst?
16.01.2009 14:54:00
magicman
Hallo Luschi,
danke für das Update. Vor Montag komme ich nicht zum testen.
Bei deiner "alten" Version hat dein AddIn zwar die Bezeichnung des Pfades geändert, aber als ich die Quelle aus dem alten Pfad entfernt habe, meldete die Pivot das die Quelldatei futsch ist und zeigte dann auch den alten Pfad an.
Ist dieser "Bug" schon erledigt?
Sorry für das Fragen in Salamitaktik aber das Testen etc. musste heute parallel / in den Pausen einer Ganztagsschulung stattfinden.
Wenn wir uns heute nicht mehr schreiben:
Schönes Wochenende.
Michael
AW: Danke! Eine Frage noch
19.01.2009 12:49:00
magicman
Hallo Luschi,
leider tritt das Problem noch auf:
Beim Ändern des Pfades bricht das Makro mit einer Fehlermeldung (Laufzeit 1004) ab und wenn ich dein AddIn erneut ausführe werden in deinen Fenstern der neue Pfad angezeigt.
Jetzt habe ich zum Testen die Datenquelle aus dem alten Pfad entfernt und beim Aktualisieren der Daten kommt folgender Fehler:
ODBC Microsoft Access Driver Datei: 'alte Pfadangabe' nicht gefunden.
Kannst Du mir hier noch weiterhelfen?
Danke im Voraus.
Michael
Anzeige
AW: Danke! Eine Frage noch
19.01.2009 15:46:56
Luschi
Hallo Michael,
zu Pkt. 1: bei mit tritt dieser Fehler nicht auf
zu Pkt. 2: an diesem Problem bin ich gerade dran.
z.Z wird der neue Pfad gegen den alten Pfad ausgetauscht. Wenn es natürlich keinen alten Pfad gibt, dann kommt der Fehler. Das werde ich ändern und den Pfad/Dateinemen löschen und neu schreiben.
Werde dann Morgen eine neue Version hier reinstellen (ohne VBA-KW!) und Du kannst wegen Pkt. 1 genauer beschreiben, wo der Fehler auftritt, da Du dann auf die Auswahl 'Debuggen' gehen kannst.
Gruß von Luschi
aus klein-Paris
AW: Danke! Eine Frage noch
19.01.2009 15:53:21
magicman
Hallo Luschi,
danke, da kann ich mich ja auf morgen freuen ;-)
Einen schönen Start in die Arbeitswoche noch.
Michael
Anzeige
AW: Danke! Eine Frage noch
21.01.2009 10:57:00
Luschi
Hallo Michael,
hier die neue xla-Datei ohne Vba-Kennwort-Schutz.
Sollte es erneut Fehlermeldungen geben, dann melde sie mir, damit ich den Ursachen auf die Spur komme.
Gruß von Luschi
aus klein-Paris
https://www.herber.de/bbs/user/58649.zip
AW: Danke! Eine Frage noch
21.01.2009 11:23:00
lutz
Hall Luschi,
bin auch in der Ecke interessiert.
Wenn ich die Datei öffne bekommen ich eine Fehlermeldung:
Außerhalb des gültigen Bereichs...
Set ctlMenuItem = ctlExtrasMenu.Controls.Add(msoControlButton, , , i, True)
Außerdem habe ich mal das Makro:

Sub pivot_Data_Info()
Dim pT As PivotTable, s As String
For Each pT In ActiveSheet.PivotTables
s = "Name der Pivot-Tabelle:" & vbCrLf & pT.Name
s = s & vbCrLf & vbCrLf & "Verbindung:"
s = s & vbCrLf & pT.PivotCache.Connection & vbCrLf & vbCrLf
s = s & "Sql-String der Pivot-Tabelle:" & vbCrLf & pT.PivotCache.CommandText
Next pT
Set pT = Nothing
End Sub


laufen lassen in einer Datei/Tabelle mit Pivottabelle - bekomme aber kein Ergebnis geliefert, woran liegt das?
Gruß Lutz

Anzeige
AW: Danke! Eine Frage noch
21.01.2009 12:44:00
Luschi
Hallo Lutz,
welche Excel-Version nutzt Du? Habe das xla gerade noch man mit ExcelXP-SP3 und Excel2003-SP2 getestet und es läuft.
An der von Dir genannten Stelle wird im Menüpunkt 'Daten' ein Untermenüpunkt 'Datenherkunft Pivot...' erstellt. Warum das schief geht, könnte daran liegen, daß im Menpunkt 'Daten' der Untermenüpunkt 'PivotTable- und PivotChart-Bericht...' nicht gefunden wird.
Sollte das der Fall sein, dann muß man ihn mit Klick per rechter Maustaste auf eine freie Stelle in den Symbolleisten-Anpassen...-Befehle-Daten in den Menüpunkt 'Daten' ziehen.
Zum 2. Problem: es fehlte die Zeile mit der Meldungsbox:

Sub pivot_Data_Info()
Dim pT As PivotTable, s As String
For Each pT In ActiveWorkbook.ActiveSheet.PivotTables
s = "Name der Pivot-Tabelle:" & vbCrLf & pT.Name
s = s & vbCrLf & vbCrLf & "Verbindung:"
s = s & vbCrLf & pT.PivotCache.Connection & vbCrLf & vbCrLf
s = s & "Sql-String der Pivot-Tabelle:" & vbCrLf & pT.PivotCache.CommandText
MsgBox s
Next pT
Set pT = Nothing
End Sub

Gruß von Luschi
aus klein-Paris

Anzeige
AW: Danke! Eine Frage noch
21.01.2009 13:03:32
lutz
Hallo Luschi,
danke für die Antwort.
Den Menüpunkt habe ich, setze Excel 2003 SP3 ein aber er raucht trotzdem ab. Warum weiß ich nicht. Habe die Datei als .xls gespeichert - nicht mehr als xla aber daran kann es ja eigentlich nicht liegen.
Was wäre denn zu ändern, wenn man sie direkt in das Datenmenü reinhängt?
P.S. kann es an einer Spracheinstellung liegen? Wir haben hier zwar Deutscha aber trotzdem irgendie Englisch auf dem Rechner.
Das mit der MSG-Box geht jetzt. Bei mir ist bei den Feldern unten der Platz nicht lang genug als das man alles lesen könnte. Evt. wäre es auch gut das einfach in eine neue Tabelle und ein paar Zellen zu schreiben?
Dann kann man alles lesen und bei Bedarf auch ausschneiden bzw. kopieren (ZB für Dokus).
Gruß und vielen Dank Lutz
Anzeige
AW: Danke! Eine Frage noch
21.01.2009 13:32:07
Luschi
Halo Lutz,
schau mal auf folgende Inet-Seite: http://puremis.net/excel/code/016.shtml
Das dort 1. Makro erzeugt eine Übersicht der excel-Menünefehle und der dazu korrespondierenden Such-ID-nummer für FindControl. Vielleicht gibt es hier Unterschiede.
Gruß von Luschi
aus klein-Paris
AW: Danke! Eine Frage noch
21.01.2009 14:43:36
lutz
Hallo Luschi,
habe mal nachgesehen, 30011 ist Daten und 2915 ist &PivotTable- und PivotChart-Bericht...
es müßte eigentlich gehen?!
Wahrscheinlich wird es mich nicht umbringen aber komisch ist es schon.
Gruß Lutz
AW: Danke! Eine Frage noch
21.01.2009 13:35:00
magicman
Hallo Luschi,
danke für deine Mühe, aber bei mir steigt der Rechner immer noch aus:

Private Sub CommandButton1_Click()
Dim s1 As String, s2 As String, s3 As String, s4 As String
If "" = Me.TextBox2.Value Then
MsgBox "Programm - Abbruch", 16, "H i n w e i s"
Exit Sub
End If
If pT Is Nothing Then
Exit Sub
End If
s1 = Trim(Me.TextBox2.Value)
If ("" = s1) Or ("" = Dir(s1)) Then
Exit Sub
End If
s2 = "ODBC;DSN=Microsoft Access-Datenbank;DBQ=" & s1 & _
";DefaultDir=" & nurPfad(s1) & ";DriverId=25;FIL=MS Access;MaxBufferSize=2048" & _
";PageTimeout=5;"
'MsgBox s2
Debug.Print s2
pT.PivotCache.Connection = s2
s1 = pT.PivotCache.CommandText
'MsgBox s1
Debug.Print s1
s2 = alteDatei(s1)
Debug.Print s2
s3 = neueDatei(Trim(Me.TextBox2.Value))
Debug.Print s3
s4 = Replace(s1, s2, s3, 1, -1, vbTextCompare)
Debug.Print s4
pT.PivotCache.CommandText = s4
pT.PivotCache.Refresh
'MsgBox pT.PivotCache.Connection & vbCrLf & vbCrLf & pT.PivotCache.CommandText
Me.TextBox3.Value = pT.PivotCache.Connection
Me.TextBox4.Value = pT.PivotCache.CommandText
'Unload Me
End Sub


Und zwar in der Zeile: pT.PivotCache.CommandText = s4
Kannst Du mir da weiterhelfen?
Gruß
Michael

Anzeige
AW: Danke! Eine Frage noch
21.01.2009 13:59:00
Luschi
Hallo Michael,
vergleiche doch mal die Variableninhalte von s1 mit s4. Da darf sich außer Laufwerk/Pfad und Datenbankname nichts geändert haben.
Lösche den Inhalt des Direktfensters und deaktiviere alle Debug.Print-Befehle in dieser Routine außer:
Debug.Print s1
Debug.Print s4
So sollte es dann aussehen:
s1 = pT.PivotCache.CommandText
Debug.Print s1
s2 = alteDatei(s1)
' Debug.Print s2
s3 = neueDatei(Trim(Me.TextBox2.Value))
'Debug.Print s3
s4 = Replace(s1, s2, s3, 1, -1, vbTextCompare)
Debug.Print s4
Gruß von Luschi
aus klein-Paris
Anzeige
Autsch. Jetzt hab ich den Bug.
21.01.2009 14:42:00
magicman
Hallo Luschi,
vielen Dank für deine Mühe, dein AddInn funktioniert wunderbar außer es existieren mehrere Pivottables in der Datei die ein und dieselbe Datenquelle haben.
In meinen Auswertungen habe ich 2 Übersichten: Gesamtübersicht und Bestelldetails
Diese Tabellen mit jeweils einer Pivottable habe ich beim Erstellen des Formulars einfach über Tabellenblatt kopieren erstellt und damit in beiden Pivots die gleiche Datenquelle hinterlegt.
Hatte den hübschen Nebeneffekt das mit dem Aktualisieren einer Table die andere gleich mitaktualisiert wurde.
Nur dein AddIn stolpert darüber - 2. Pivot gelöscht und dann läuft es durch.
Hast Du für das Problem noch eine Lösungsmöglichkeit oder ist da dann doch die Humanschnittstelle gefragt?
Vielen Dank für deine Mühe und Geduld.
Michael
AW: Autsch. Jetzt hab ich den Bug.
21.01.2009 15:35:00
Luschi
Hallo Michael,
habe auch noch 2 Fehler gefunden (beim Vorhandensein von mehreren Pivottabellen in einer Tabelle).
Hier nun die neue Version:
https://www.herber.de/bbs/user/58663.zip
Gruß von Luschi
aus klein-Paris
leider immer noch bei 2 Pivot +1Datenq.
21.01.2009 16:11:00
magicman
Hallo Luschi,
danke für dein Update. Leider steigt das AddIn immer noch aus wenn ich die 2. Pivot in der Datei habe.
Aber jetzt werde ich halt nur 50% der Tabellen neu erstellen müssen, für die Haupttabelle klappt es ja.
Gruß
Michael

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige