collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 27
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13953
  • stats Beiträge insgesamt: 66364
  • stats Themen insgesamt: 8942
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Frontend-Update  (Gelesen 274 mal)

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1780
Frontend-Update
« am: März 15, 2018, 22:29:16 »
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 !
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: PhilS