PDA

Vollständige Version anzeigen : Formulare aus Datenbank importieren


Thom S
28.09.2005, 07:59
Hallo !

Ich habe folgendes vor:
Ich möchte ein Access Front End verwenden um auf eine Datenbank (Oracle oder PostgreSQL) zuzugreifen. Der Benutzer soll sich mit Usernamen und Passwort anmelden, die Datenbank soll ihm dann die zu ihm gehörigen Formulare zusenden. Jetzt zu meinen Fragen:
- Wie hinterlege ich Formulare in einer Datenbank ?
- Wie kann ich Formulare aus einer Datenbank importieren ?
- gibt es evtl sogar noch eine elegantere Lösung als die Formulare in der Datenbank zu lagern (ohne dass die Sicherheit darunter leidet) ?
Hat da jemand eine Antwort, oder evtl sogar ein Tutorial oder so zu? Googlen ergab leider nicht viel :(

Grüße & danke schonmal
Thomas

rita2008
28.09.2005, 08:06
Wenn Du mit Access als FrontEnd arbeitest, kannst Du doch dort die Formulare erstellen. Für die Berechtigungen kannst Du ja in der Back-End-Datenbank eine entsprechende Tabelle mit den Formularnamen führen.

mfg Rita

Thom S
28.09.2005, 08:14
Hallo !
Danke für die Anregung, aber ich möchte vermeiden ständig allen Nutzern (werden wohl 50+ sein) neue Versionen meiner Datenbank installieren zu müssen wenn ich nur einmal kurz etwas an einem Formular ändere. außerdem würden die Front Ends wohl recht groß werden und über ein paar tricks lassen sich im front End ja auch die restlichen Formulare öffnen. Das alles spricht für mich leider gegen deinen Vorschlag. Im Grunde ist die Situation in unserem Betrieb mommentan etwa so wie du sie beschreibst und es bring tleider einige Probleme mit sich.

boobou
28.09.2005, 08:25
Hi Thomas

ich würde auch ein normales FE mit den Formularen bauen und eine gute Menustruktur.
Dann kannst du, so wie Rita vorgeschlagen hat, auf dem Server eine Tabelle führen, welche die Formulare enthält. Eine Tabelle der User wirst du sicher schon haben, dann brauchst du nur noch die Zuordnung, welcher User welches Formular.
Nun kannst du anhand der Anmeldung und der Zuordnungstabelle die Menupunkte (z.b. Buttons) ein-, bzw. ausblenden ..

Thom S
28.09.2005, 08:36
Hallo !

So wie du bzw Rita es beschreiben wird es zZ etwa gemacht. Wie gesagt, das größte Problem ist dass ich so bei jeder noch so kleinen Änderung alle Front-Ends ersetzten muss, was oft mehr Arbeit ist als die Änderung an sich. Daher würde ich die Formulare gerne global verwalten, so hätte jeder User nach seiner Anemldung immer die aktuellste Version.

dancer1970
28.09.2005, 09:07
Hallo,
wir haben das mal folgendermaßen gelöst:
Es wurde ein Frontend erstellt und auf einem allgemein zugänglichen Server abgelegt. Bei der Anmeldung des Users wurde verglichen, ob es eine aktuellere Version gibt (Vergleich mit FE Version und letzter Eintrag in Versionstabelle).
Wenn es etwas aktuelleres gibt, wird der user aufgefordert die Datei zu aktualisieren. Wir haben dazu eine einfache Batch Datei benutzt, die die Datei auf dem Server in einen Standardordner auf den User-Rechner kopiert.
Dann kann das Programm neu geöffnet werden.
Es gibt aber sicherlich auch elegantere Lösungen.

Stefan

Thom S
28.09.2005, 09:18
Hallo dancer!

Danke schonmal für deinen Lösungsvorschlag, wenn ich mein eigentliches Vorhaben nicht realisiert bekomme werd ichs wohl auch so machen. Meine Überlegung zur Zeit ist es, in der Datenbank für jedes Formular ein Skript zu hinterlegen, welches dann heruntergeladen wird und das Formular erstellt. Das erschwert aber die Formularerzeugung ungemein, weil man ja ncihtmehr mit dem WYSIWYG Editor arbeiten kann, oder kennt jemand eine Möglichkeit aus einem fertigen Formular einen Code zur Erstellung des Selben zu erstellen? Es muss doch auch irgendwie möglich sein ein exportiertes Formular bitweise in der Datenbank zu speichern und dann wieder zu importieren, das wäre das eleganteste mMn. Ich weiß aber leider nicht wie ich ein Formular bitweise in Access importieren kann.

boobou
28.09.2005, 09:22
das größte Problem ist dass ich so bei jeder noch so kleinen Änderung bei einer Anwendung gibt es nicht ständig neue Versionen ... oder willst du dasselbe Spiel machen wie MS - permanent irgendwelche patches ...

Eine Anwendung wird mal geplant und entwickelt, dann gibt es vielleich alle 2 Monate eine neue Version die dann verteilt wird - im übrigen hat dir dancer oben einen Tip gegeben.

ODER ganz kurz gesagt: so geht's nicht wie du das willst.

Rein theoretisch wäre ein Import von Formularen aus einer anderen mdb möglich, aber da kann ich dir gleich sagen, dass der User ganz schön blöd gucken würde, wenn bei jedem Start das Geflacker losgeht beim Import - zudem würde die mdb saumässig wachsen, exponentiell mehr als wenn du immer alle Formulare sauber drin hast und die mdb komprimiert ist.

Thom S
28.09.2005, 10:02
>>
bei einer Anwendung gibt es nicht ständig neue Versionen ... oder willst du dasselbe Spiel machen wie MS - permanent irgendwelche patches ...

Eine Anwendung wird mal geplant und entwickelt, dann gibt es vielleich alle 2 Monate eine neue Version die dann verteilt wird - im übrigen hat dir dancer oben einen Tip gegeben.
<<

Eigentlich sollte es so sein, leider ist das nur ein Idealfall der mit der Realität in unserer firma nicht viel zu tun hat. Ständig will irgendeiner ein neues Feature hier oder ne kleine Änderung da, von daher bleibt das mit dem alle 2 Monate eine neue Version leider eine Utopie :(

Das beim Start geflackere kommt ist mir (und den usern) ganz egal, den ästhetischen Aspekt kann man hier getrost außen vor lassen. Ich wäre dir für den Tip wie man formulare aus einer anderen mdb importiert dankbar.