none
_Access 2007 VBA Active-x MSCOMCTL.OCX bei XP und Windows 7 in verschiedenen Ordnern

    Frage

  • Ich habe eine Access-Anwendung auf einem XP-Rechner und auf einem Win 7 Rechner.
    Diese Anwendungen sollen synchronisiert werden. Das klappt auch von XP nach WIN 7,
    aber nicht umgekehrt. Das Problem besteht darin, dass das Aktive-x Element MSCOMCTL.OCX
    bei XP im Ordner System32 steht und bei WIN 7 im Ordner SysWOW64.


    Ich müsste also jedesmal bei einer Synchronisation der Anwendung von WIN 7 nach XP,
    in VBA den Pfad für den Verweis auf MSCOMCTL.OCX anpassen. Das ist ein zusätzlicher
    Aufwand und nicht gerade elegant. Ohne die Änderung findet Access z.B. die Funktion
    " Format" nicht und bringt eine Fehlermeldung "Verweis nicht gefunden" weil der Pfad aus
    WIN 7 natürlich nicht gefunden wird.


    Meine Fragen:
    Was mache ich falsch?
    Welche Möglichkeiten gibt es das Problem zu lösen?


    Ich bedanke mich im voraus für jeden Tipp und jede Hilfe!
    Liebe Grüße aus Erkelenz

    Mittwoch, 24. Juli 2013 15:56

Alle Antworten

  • Hallo,

    > Welche Möglichkeiten gibt es das Problem zu lösen?

    wenn möglich auf das OCX verzichten.

    Thomas Möller hat auf der 10. AEK einen Vortrag zu Verweisen gehalten. Evtl. hilft es Dir ja.

    Gruß Gunter

    --
    Access FAQ:
    http://www.donkarl.com
         
    http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de
              http://www.ribboncreator2013.de


    Donnerstag, 25. Juli 2013 15:46
    Moderator
  • Hallo Toni1949

    Wozu brauchst Du das MSCOMCTL.OCX? Welche der darin enthaltenen Controls setzt Du ein?

    Mit diesem OCX ist es wie mit dem MSCOMDLG.OCX: Man verzichtet besser auf dieses und benutzt dafür die Standard verfügbaren Controls/Dialoge. Oder man benutzt ein Ersatz Control, das nur genau das beinhaltet, was man braucht. Wenn Du uns mitteilst, was Du davon verwendest, können wir Dir vielleicht helfen, auf dieses zu verzichten.

    Gruss

    Henry

    Freitag, 26. Juli 2013 04:18
  • Das Problem besteht darin, dass das Aktive-x Element MSCOMCTL.OCX bei XP im Ordner System32 steht und bei WIN 7 im Ordner SysWOW64.

    Hallo Toni,

    nein, darin besteht das Problem nicht. Es ist eine ActiveX Componente und die kann liegen, wo sie will, hauptsache sie ist richtig registriert.

    Problem wird eher sein, das Du auf dem Win7 eine neuere Version der Componente hast, als auf dem XP Rechner: Auf XP ist es 2.0, auf Win7 2.1. Öffnest Du die Access Datei auf Win7, wird automatisch der Verweis auf Version 2.1 aktualisiert. Öffnest Du sie wieder auf XP kann die Version 2.0 nicht gefunden werden ... die Fehlermeldung kennst Du ja.


    Olaf Helper

    Blog Xing


    Freitag, 26. Juli 2013 11:16
  • Lieber Olaf !

    Danke für deinen Hinweis mit dem Versionsunterschied.

    Wie kann ich denn jetzt mein Problem lösen?
    Soll ich die Komponente von Win7 in XP registrieren? Da müsste ich wohl erst die Version 2.0 aus der Registrierung entfernen.

    Oder soll ich den umgekehrten Weg gehen und Version 2.0 nach Win 7 bringen?

    In beiden Fällen bräuchte ich jedoch eine Anleitung, da ich nicht gerade ein Spezialist in Bezug auf
    Änderungen in der Registrierung bin. Ich wäre froh und sehr dankbar wenn du mir einige Tipps geben könntest.

    Liebe Grüsse aus Erkelenz

    Toni


    • Bearbeitet Toni1940 Freitag, 26. Juli 2013 23:45 Tippfehler
    Freitag, 26. Juli 2013 23:43
  • Hallo Toni1940

    Die neuere Version auf XP zu verwenden scheint mir vernünftiger. Aus irgend einem Grund ist die neuere Version bei Windows 7 drauf. Du würdest sonst was anderes stören.

    Für die Registrierung benötigst Du keine Registry Kenntnisse sondern RegSrv32.exe

    Wieweit dies lizenztechnisch erlaubt ist, weiss ich nicht.

    Henry

    Sonntag, 28. Juli 2013 02:37