Hallo alle miteinander,
Ich bräuchte dringend mal eure Hilfe. Ich habe ein Excel Sheet welches für ein Live Display programmiert wurde. Das holt alle X Sekunden aus einer DB
Informationen und stellt sie dar.
Das geschiet mit Hilfe von 2 Timern, einer zum Daten holen und einer Zum anzeigen. Hier mal der ausschnitt.
In der Abfrage hol ich mir die Daten aus der DB und hau sie in eine Temp Tabelle rein. Dann kopier ich mir die Werte aus den Feldern in Stringvariablen und diese dann in das Livedisplay.
noch ein auszug:
Ich verwende ja immer die selben Variablen. Mein Problem ist das der Speicher
den Excel benötigt immer weiter ansteigt über 2-3 Tage bis er zu hoch ist und
kein Arbeitsspeicher mehr da ist.
Hat vielleicht jemand eine Ahnung wodran das liegen könnte oder wie ich es
vielleicht umgehen kann?
Schonmal Vielen vielen Dank im vorraus.
Mfg Fabian
Ich bräuchte dringend mal eure Hilfe. Ich habe ein Excel Sheet welches für ein Live Display programmiert wurde. Das holt alle X Sekunden aus einer DB
Informationen und stellt sie dar.
Das geschiet mit Hilfe von 2 Timern, einer zum Daten holen und einer Zum anzeigen. Hier mal der ausschnitt.
Code:
Sub UpdateData() No_Fehler = False Call Abfrage If No_Fehler Then Call StartTimer Else With Worksheets("Report").OLEObjects("cb_Start").Object .Enabled = True End With With Worksheets("Report").OLEObjects("cb_stop").Object .Enabled = False End With Call StopTimer Call StopCopyTimer MsgBox "Server nicht erreichbar! Bitte starten Sie den Vorgang später neu!", vbCritical End If End Sub ' Startet den Timer mit den oben eingestellten Werten Sub StartTimer() RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds) Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, Schedule:=True End Sub ' Stoppt den Timer wieder Sub StopTimer() On Error Resume Next Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, Schedule:=False End Sub ' Startet den Timer mit den oben eingestellten Werten Sub StartCopyTimer() RunWhenTwo = Now + TimeSerial(0, 0, 4) Application.OnTime EarliestTime:=RunWhenTwo, Procedure:=cRunWhatCopy, Schedule:=True End Sub ' Stoppt den Timer wieder Sub StopCopyTimer() On Error Resume Next Application.OnTime EarliestTime:=RunWhenTwo, Procedure:=cRunWhatCopy, Schedule:=False End Sub
noch ein auszug:
Code:
' Daten in die Variablen kopieren Worksheets("Data").Activate TotalCalls = Range("C2").Value CallsWaiting = Range("D2").Value LongestWaiting = Range("E2").Value AgentsLoggedOn = Range("F2").Value AgentsAvailable = Range("G2").Value AgentsInTalk = Range("H2").Value LostCalls = Range("I2").Value LongestWaitingToday = Range("J2").Value AgentsInWrapUp = Range("K2").Value ' Daten in die TFT Anzeige kopieren Worksheets("Report").Activate Range(strTotalCallsRng).Value = TotalCalls Range(strCallsWaitingRng).Value = CallsWaiting Range(strLongestWaitingRng).Value = LongestWaiting Range(strAgentsLoggedOnRng).Value = AgentsLoggedOn Range(strAgentsAvailableRng).Value = AgentsAvailable Range(strAgentsInTalkRng).Value = AgentsInTalk Range(strLostCallsRng).Value = LostCalls Range(strLongestWaitingTodayRng).Value = LongestWaitingToday Range(strAgentsInWrapUpRng).Value = AgentsInWrapUp
den Excel benötigt immer weiter ansteigt über 2-3 Tage bis er zu hoch ist und
kein Arbeitsspeicher mehr da ist.
Hat vielleicht jemand eine Ahnung wodran das liegen könnte oder wie ich es
vielleicht umgehen kann?
Schonmal Vielen vielen Dank im vorraus.
Mfg Fabian
Comment