Die Excel-Dashboard-Datenverbindung wird abgebrochen

425
wysiwyg

Ich habe ein Setup für die Anzeige eines Status / Dashboards, im Wesentlichen eines Protokolls, das von einem anderen Computer aktualisiert wird. Es funktioniert über Excel wie folgt:

  • Jemand fügt einer Tabelle in "Log_Source.xlsx", die sich auf einer Netzwerkfreigabe befindet, Daten hinzu und speichert sie.
  • Der Dashboard-Computer (ein Intel Compute Stick (Windows 10 Home) und ein an der Wand befestigter Monitor) verfügt über eine lokale Datei "Log_Dashboard.xlsx" mit einer Datenverbindung zur Quelldatei im Netzwerk. Die Abfrage wird jede Minute aktualisiert. Auf diese Weise kann das Dashboard die Daten nahezu in Echtzeit abrufen und anzeigen, ohne die Datei für die Bearbeitung zu sperren.

Das Problem:

Alle paar Tage bekomme ich im Dashboard eine Meldung mit der Wirkung, dass die Datenquelle nicht gefunden werden konnte. Die Daten werden nicht mehr aktualisiert. Durch Schließen und erneutes Öffnen von Log_Dashboard.xlsx wird das Problem behoben. Wie kann ich das verhindern?

Was ich probiert habe:

  • In den Windows-Energieeinstellungen: Zu Hochleistungsplan geändert. Stellen Sie die Festplatte so ein, dass sie sich niemals ausschaltet. Stellen Sie den Wireless Adapter auf Maximum Performance ein.
  • Ein AutoHotKey-Skript sollte alle 12 Stunden ausgeführt werden. Dabei wird die Maus nur hin und her bewegt. Ich dachte, das könnte verhindern, dass der Computer in einen Ruhezustand wechselt, wenn dies der Fall ist.
  • Der Excel-Datei wurde ein Makro hinzugefügt, das sie stündlich schließt und wieder öffnet. Da ich das Problem so jedes Mal manuell korrigiere, dachte ich, das würde sich darum kümmern, aber es passiert immer noch.

Irgendwelche Vorschläge? Oder wenn es einen anderen Ansatz gibt, eine Dashboard-Anzeige wie diese einzurichten, bin ich offen dafür ... Danke.

0
Gibt es ein Muster für den Fehler? Oder ist es zufällig? Ist es möglich, dass es nicht aktualisiert werden kann, während jemand die Datenquellendatei geöffnet hat? CharlieRB vor 6 Jahren 0
@CharlieRB Das Problem ist * normalerweise * morgens, nachdem der Computer die ganze Nacht nicht benutzt wurde. Ich würde es nicht als Muster bezeichnen, aber deswegen dachte ich, dass es sich um einen Stromsparmodus handelt. Die geöffnete Quelldatei hat keinen Einfluss auf die Aktualisierungsfähigkeit. wysiwyg vor 6 Jahren 0

1 Antwort auf die Frage

0
wysiwyg

Posting, was für mich funktioniert hat, nur für den Fall, dass jemand anderes mit einem ähnlichen Problem in der Zukunft darauf stolpert:

Ich konnte nie feststellen, warum die Datenverbindung immer mehr abbrach. Ich habe den "Dashboard" -Computer von einem mit Wifi verbundenen Intel Compute Stick zu einem alten, über Ethernet verbundenen, kompakten Desktop umgestellt. Das hat ein bisschen geholfen, aber ich habe immer noch Datenverbindungen getrennt, zusammen mit anderen Excel-Fehlern wie "Nicht genügend Speicher".

Hier ist der Workaround, der in meiner Situation letztendlich für mich funktioniert hat:

Ich habe ein Modul in die Excel-Datei ("Log_Dashboard.xlsm") mit folgendem Code eingefügt:

Sub WorkbookSaveCycle()  ThisWorkbook.Save PID = Shell("cmd /k @echo off & echo Restarting Dashboard, please wait... & @echo off & timeout /t 4 /nobreak & ""C:\Program Files (x86)\Microsoft Office\root\Office16\excel.exe"" """ & Application.ActiveWorkbook.FullName & """ & exit", vbMaximizedFocus) Application.Quit  End Sub 

Dadurch wird die Arbeitsmappe einfach gespeichert, es wird ein Shellbefehl ausgeführt, in dem eine Meldung angezeigt wird, dass das Dashboard neu gestartet wird (für den Fall, dass jemand auf den Bildschirm schaut). Anschließend wird die Excel-Datei erneut geöffnet, nachdem einige Sekunden gewartet wurde, bis sie geschlossen wurde . (Der excel.exeDateipfad muss möglicherweise geändert werden, wenn eine andere Office-Version verwendet wird.)

Dann stelle ich das in das ThisWorkbookModul:

Private Sub Workbook_Open()  Application.DisplayFullScreen = True Application.OnTime Now + TimeValue("00:15:00"), "WorkbookSaveCycle"  End Sub 

Wenn die Excel-Datei geöffnet wird, wird die Vollbildansicht aktiviert. Nach dem Abwarten der vordefinierten Zeit (hier 15 Minuten) wird das obige WorkbookSaveCycleMakro aufgerufen . Dadurch wird der Zyklus wieder in Gang gesetzt, indem die Datei geschlossen und erneut geöffnet wird.

Ich bin sicher, es gibt einen besseren Weg, dies zu tun, aber seit der Implementierung dieser Änderungen ist es im Grunde absolut stabil.