none
Access 2007 - Nicht genügend Stapelspeicher - nach Umzug auf Windows 7-64 PC

    Frage

  • Seit Tagen versuche ich meinen WindowsXP32-Arbeitssklaven auf einen neuen PC (SixCore/8GB) mit Windows 7 64bit umzuziehen (abzubilden).
    So sind nun fast 400 Anwendungen und Tools auf dem XP-System.
    Immer wiederhabe ich mehr oder weniger große Probleme. meine eingesetzten Hauptanwendungen auf dem Win 7 System zum Laufen zu bringen. Klar nach Stunden Recherche, Foren-Anfragen bis hin zu kostenpflichtigem Support, läuft dann tatsächlich das meiste.
    Und jetzt, heute entdeckt, habe ich wieder ein schönes Problem mit einer wichtigen selbstprogrammierten Anwendung in Access 2007:

    In meinem eher einfach ausgestatteten Win XP System läuft die gleiche Anwendung ohne Probleme. In dem Win 7 kommt die Fehlermeldung: "Nicht genügend Stapelspeicher" wohl aus VBA. Hab schon alles gecheckt und versucht zu debuggen, doch ausser dieser Fehlermeldung bekomme ich nicht raus, was passiert, die Anwendung friert höchstens ein und ich muss Access terminieren.
    Die entscheidende Stelle im Code ist diese:

    DoCmd.SendObject acSendReport, [Berichtsname], acFormatPDF, [Mailadresse], , , [Betreff], [Mailtext]
    Dabei wird ein vorbereiteter Bericht im PDF-Format erzeugt und als eMail-Anhang an die Mailadresse zum Senden vorbereitet, d.h. an den installierten Mail-Client zum Senden übergeben. Wie gesagt, das funktioniert auf dem XP-System schon lange problemlos. Die erf. PDF/XPS-Erweiterung für Access ist auch auf dem neuen PC installiert.


    Hat jemand ein ähnliches Problem beim Umstieg auf Win7 gehabt und beheben können oder weiß sonst jemand, woran das liegen kann, am Speicher ja wohl kaum (auf dem alten waren es 2 GB auf dem neuen sind es 8 GB?

    Danke für Rückmeldungen

    Grüße Tom

    Dienstag, 4. Juni 2013 14:23

Alle Antworten

  • Am 04.06.2013 schrieb tomy-byte:

    In meinem eher einfach ausgestatteten Win XP System läuft die gleiche Anwendung ohne Probleme. In dem Win 7 kommt die Fehlermeldung: "Nicht genügend Stapelspeicher" wohl aus VBA. Hab schon alles gecheckt und versucht zu debuggen, doch ausser dieser Fehlermeldung bekomme ich nicht raus, was passiert, die Anwendung friert höchstens ein und ich muss Access terminieren. Die entscheidende Stelle im Code ist diese:

    DoCmd.SendObject acSendReport, [Berichtsname], acFormatPDF, [Mailadresse], , ,
    [Betreff], [Mailtext]

    Dabei wird ein vorbereiteter Bericht im PDF-Format erzeugt und als eMail-Anhang an die Mailadresse zum Senden vorbereitet, d.h. an den installierten Mail-Client zum Senden übergeben. Wie gesagt, das funktioniert auf dem XP-System schon lange problemlos. Die erf. PDF/XPS-Erweiterung für Access ist auch auf dem neuen PC installiert.

    Wenn Du im IE auf einen Mailto:bla@blafasel.de Link klickst, welcher
    Mailclient öffnet sich? Sieh auch bitte in der Systemsteuerung nach,
    welches Programm bei den Standardprogrammen für Mail eingetragen ist.

    Hat jemand ein ähnliches Problem beim Umstieg auf Win7 gehabt und beheben können oder weiß sonst jemand, woran das liegen kann, am Speicher ja wohl kaum (auf dem alten waren es 2 GB auf dem neuen sind es 8 GB?

    Mit dem Speicher hat das nichts zu tun.

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Dienstag, 4. Juni 2013 16:57
  • Die Meldung "Nicht genügend Stapelspeicher" kommt gerne, wenn Access "im Kreis läuft", also sich aus irgendeinem Grund eine Rekursion ergibt.

    Läßt sich der Report denn fehlerfrei öffnen?

    Dirk

    Mittwoch, 5. Juni 2013 06:06
  • Die identische Anwendung läuft seit vielen Monaten auf meinem "alten" Win XP System problemlos, wie sie soll. Der Fehler kann nicht in der Access/VBA Programmierung liegen, denn sonst hätte ich ja auch Probleme auf dem "alten" System. Die Ursache muss mit dem Umstieg zu tun haben!

    Winfried Sonntag hat mich da schon auf eine Fährte gebracht, die ich gerade dabei bin zu prüfen. Es muss wohl mit dem eMail-Client auf dem neuen System zusammenhängen.

    Danke

    Tom

    Mittwoch, 5. Juni 2013 08:12
  • Am 05.06.2013 schrieb tomy-byte:

    Winfried Sonntag hat mich da schon auf eine Fährte gebracht, die ich gerade dabei bin zu prüfen. Es muss wohl mit dem eMail-Client auf dem neuen System zusammenhängen.

    Hast Du schon Zeit gehabt das zu prüfen?

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Mittwoch, 5. Juni 2013 16:30
  • Hallo Winfried,

    danke der Nachfrage!
    Es dürfte wohl am Mail-Client liegen, denn der macht auf dem neuen System erhebliche Probleme. Es ist eine alte Tobit David UMS-Lösung auf einem leider eben so alten Windows 2000 Server. Der Client ist das TobitInfoCenter XP, was nicht mehr mit dem IE 10 kooperiert, aber dessen Hintergrund-System verwendet. Die eMails werden nur in der Vorschau angezeigt usw. Das Problem ist mir bekannt und ich arbeite an einer Lösung. Im Moment muss ich noch mit dem alten Windows XP System arbeiten. Zu diesem Zweck habe ich ein Netzlaufwerk auf dem gleichen Pfad eingebunden wie die Dateien vorher auch schon eingebunden waren, so dass die Datenpfade weiterhin korrekt sind, obwohl diese mittlerweile direkt über den Windows 7 Rechner eingebunden sind. So kann ich aber die Access-Anwendung nutzen und auch emails versenden, da hier noch der IE 6 werkelt und das funktioniert eben noch mit dem TobitInfoCenter XP.

    Blöde Geschichte. Hab noch keine richtige Lösung. Brauch mittlerweile eigentlich keinen Unified Messaging Server mehr, da ich mittlerweile in einem Home-Office arbeite. Auch der Windows Server ist eigentlich nicht erforderlich, doch basiert ein Teil meiner Struktur darauf und das ganze eMail-Archiv (8 GB) liegt im David.
    Weiß noch keine Lösung. Aber das ist ein anderes Problem und hat mit diesem Thread eigentlich nichts mehr zu tun.

    Danke und Grüße

    Tom
    Donnerstag, 6. Juni 2013 18:43
  • Am 06.06.2013 schrieb tomy-byte:

    Weiß noch keine Lösung. Aber das ist ein anderes Problem und hat mit diesem Thread eigentlich nichts mehr zu tun.

    Versende die Mails per SMTP direkt an einen SMTP-Server, dann kannst
    Du dir den Umweg über Outlook sparen. Wenn Du die Mails auch in
    Outlook brauchst, schick dir selbst einen Kopie zu.

    Servus
    Winfried


    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Donnerstag, 6. Juni 2013 18:51
  • Hallo Tom

    Hat jemand ein ähnliches Problem beim Umstieg auf Win7 gehabt und
    beheben können oder weiß sonst jemand, woran das liegen kann, am
    Speicher ja wohl kaum (auf dem alten waren es 2 GB auf dem neuen sind
    es 8 GB?

    Du hast schon die 32-bit Version von Office installiert, gell?
    Office läuft dann in der WOW64, der 32-bit Umgebung und für die gelten die gleichen Restriktionen wie für ein 32-bit Windows, wenn es um "Memory" geht.

    Darum geht es hier aber nicht. Es geht um "Stapelspeicher". Stapelspeicher ist der Speicherbereich in dem das System Speicher-Rücksprungadressen, Referenz Adressen (Fenster, Fonts, DLLs, etc.) und weiteres verwaltet. Dieser Stack ist limitiert. Im Englischen würde "Nicht genügend Stapelspeicher" mit "Stack Overflow" wiedergegeben, was vermutlich besser verstanden und weniger fehlinterpretiert würde. Mit dem aktuell verfügbaren Speicher hat das eigentlich nichts zu tun.

    Ich bin nicht sicher, ob man den benutzten Stack in Access überhaupt kontrollieren könnte, wenn man wollte. Es ist allerdings so, dass wohl jedes Control und jedes Fenster in Access Stack benötigt. Beim Erzeugen eines Berichts als PDF wird das kaum anders sein. Der Fehler weisst eher auf einen Fehler oder nicht optimale Benutzung von Stacks in einer Komponente des Codes hinter Deiner Anwendung hin, in Deinem Fall irgendetwas was beim DoCmd.SendObject oder beim PDF aufbereiten schief läuft und dann eben den verfügbaren Stack zum Überlaufen bringt.
    Kommt hinzu, dass nach einem solchen Fehler vielfach besser das System neu gestartet wird, weil dann oft ein Teil des Stacks durch "Leichen" blockiert ist, die erst beim Neustart wieder vernichtet werden.

    Was genau schief läuft, können wohl nur System Spezies mit Spezial Debug Tools, allenfalls mit Tools von Sysinternals untersuchen. Wenn Du es gelöst haben willst, solltest Du einen Support Case bei MS öffnen.

    Wenn der Fehler in O2013 häufiger auftritt, also vorher, dann hilft vielleicht mit einer Vorversion zu arbeiten (O2010), nicht nur von Access, sondern von ganz Office, weil sonst die Komponente, die den Stack Overflow auslöst evt. noch drauf ist.

    Auf alle Fälle vorher kontrollieren, ob alle SPs, Hotfixes und Updates installiert sind.

    Gruss
    Henry

    Freitag, 7. Juni 2013 08:34
  • Hallo Leute,
    Ich habe das gleiche Problem in Access-RT 2010. Auf ca. 35 PCs (W7 x64/32) funktioniert das Frontend, ebenso unter XP. Aber bei zwei neuen PCs taucht der Fehler auf, bis zum Crash der Anwendung. Mit einer Vollversion von Access funktioniert es, zurück in der RT taucht der Fehler wieder auf.

    Hat zwischenzeitlich schon jemand das Problem beseitigen können?

    Gruß, M.Koch

    Mittwoch, 15. Januar 2014 19:47