Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Frontend-Update

Begonnen von Beaker s.a., März 15, 2018, 22:29:16

⏪ vorheriges - nächstes ⏩

Beaker s.a.

Hallo,
Dies ist ein (hoffentlich erlaubter) X-Post da die Idee von hier
http://www.access-o-mania.de/forum/index.php?topic=23202.15 #28
und Hilfe von hier http://www.ms-office-forum.net/forum/showthread.php?t=349887
stammen.

Da Franz' Script ja keine Versionsprüfung enthält und angesteckt von Josefs
AddIn-Fieber dachte ich mir (hab' ja sonst nicht viel zu tun  ;)) ich bastel ein
AddIn, mit dem man ein solches Script erweitert um diese Prüfung (und mehr,
s.u.) direkt in Access erstellen kann.
Heraus gekommen ist dabei Folgendes (s. Anhang).

Nach der Installation lässt es sich wie folgt verwenden.
Je nach dem ob eine DB geladen ist oder man es in einem leeren Access-Fenster
aufruft erscheint das Startformular mit diesen Unterschieden:

1. mit geöffneter DB
  a) diese wird direkt angezeigt und im AddIn referenziert
  b) die Checkbox ist entsprechend vorbelegt (s.u.)
  c) das (evtl.) Fehlen der nötigen Tabelle "Versionen" wird angezeigt
  d) diese Tabelle (Struktur s. Code) kann autom. angelegt werden (Button ist sichtbar)
  e) der Auswahl-Button (Filedialog) ist unsichtbar
  f) der Button "Script erstellen" ist sichtbar sobald die o.a. Tabelle angelegt ist
     und erstellt das unten beschriebene Script unter dem Namen "Start_NameDerDB.vbs"
     (der Name der DB wird dann im Script hartcodiert)
  g) nimmt man den Haken aus der Checkbox funzt alles so wie unter 2., die Checkbox
     wird aber nicht deaktiviert um direkt auch zur geöffneten DB zurückkehren zu
     können

2. in leerem Access-Fenster
  a) die Anzeige-Felder sind leer
  b) die Checkbox ist deaktiviert (Status = False)
  c) der Auswahl-Button (Filedialog) ist sichtbar
  d) alle anderen Controls sind zunächst unsichtbar
  e) nach Auswahl eines FE passiert das gleiche wie bei 1a, 1c, 1d und 1f

Das Script an sich macht im Prinzip nichts Anderes als andere bekannte Updater
auch, - Vergleich einer Versions-Nr. in zwei FEs und evtl. Kopieren einer neueren
Version.
Ich habe es jedoch dahin gehend erweitert, dass es auch flexibel auf die
Installationspfade (lokal/akt. Version bzw. serverseitig/Update-Version) beim
Anwender reagiert.
Dazu werden beim ersten Start die Pfade vom Anwender abgefragt und in der Registry
abgelegt; - die Schlüssel werden unter "HKCU\Software\Microsoft\Office\14.0\Access\"
autom. angelegt. Mit diesen wird dann bei jedem Start überprüft ob die Anwendung
dort noch vorhanden ist. Falls nicht wird/werden der/die neuen Pfade vom Anwender
angefragt und gespeichert. Das evtl. nötige Neuverlinken der Tabellen, falls auch das
BE verschoben wurde, wird allerdings dem FE überlassen.

Das AddIn muss NICHT an den Anwender weitergegeben werden, NUR das erstellte
VB-Script!

Bei meinen abschliessenden Tests sind keine Fehler mehr aufgetreten, weder in Access
noch im Script. Falls da jedoch noch Klippen sind, die ich nicht bedacht habe bzw. von
denen ich nichts weiss, freue ich mich auf Kritik und Verbesserungsvorschläge.
Diese würde ich dann gerne im MOF weiter diskutieren, da die meisten der hiesigen
Regulars dort auch mitlesen.

gruss ekkehard


P.S. Die .zip enthält
- das AddIn
- ein Script zum Installieren
- eine Muster-DB (ohne Tabelle "Versionen")
- ein mit dem AddIn erstelltes Script für diese DB
   ! funzt erst wenn die Tabelle angelegt wurde !
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)