PDA

Vollständige Version anzeigen : Datenbank auswahl beim Start welches Formular


Christian-1981
28.04.2011, 14:36
Hallo Leute,

habe noch ein kleines Problem.
Ich habe die Datemnbank aufgeteilt in Front und Backend.

Nun will ich von 2 Rechnern die Frontend starten.

Aber jeder Frontend rechner soll ein anderes Startformular bekommen.
Kann mann das machen?
Gibt es eine Möglichkeit, das mann beim ersten Start auswählen kann welche Formular gestartet werden soll? Und dies dann in einer Tabelle schreibt?

Ähnlich AutoLink Script.

Danke

Lanz Rudolf
28.04.2011, 14:39
Hallo
Suche einmal hier im Forum nach AutoLink evtl. ist das was Für Dich

Atrus2711
28.04.2011, 14:41
Hi,

du könntest ein kleines Startformular oder -Makro einrichten, das den Namen des zu öffnenden Formulars aus einer benutzertypischen QUelle (lokale Tabelle, lokale Datei, Registry o.ä.) einliest und dann dieses Formular öffnet.

Bedenke aber, dass du dann auch von überall ermöglichen müsstest, das Startformular zu ändern....

Mit einem zentralen Steuerformular oder einem Hauptmenü fährst du m.E. besser.

CptChaos
28.04.2011, 14:44
Woran wird erkannt, welches Formular gestartet werden soll?
Grundsätzlich geht das natürlich...

Z.B. per Makro autoexec (das einzige Makro das eine DB haben sollte ;)) welches wiederum eine VBA-Funktion aufruft.
Dort wird entschieden welches Formular geöffnet wird.

Frage: Wozu? Geht es wirklich um 2 Formular oder möglicherweise mehr um die darin angezeigten Daten?

Christian-1981
28.04.2011, 14:55
Autolink kenne ich ist auch echt gut.

So etwas müsste mit Formulare sein. Chef will kein Hauptformular.
Wie kann mann das machen mit der lokalen Tabelle?

Oder direkt beim Starten von Access so wie /runtime?

Wird später mal um 5 Verschiedene Formulare handeln. Bisher starte ich 1 Formular per autoexec

CptChaos
28.04.2011, 15:02
Nochmal die Frage: Woran erkennst Du (und somit das System/die Anwendung) welches Formular geöffnet werden soll?

Beachtung meiner weiteren Anmerkungen (s. oben) wären auch noch hilfreich...

Christian-1981
28.04.2011, 15:07
Nun es ist so.
Es wird 2 Produktionsbereiche geben. Beide haben verschiedene Formulare.
Später soll noch Schichtführer und Büro dazukommen.
Jeder soll die Datenbank automatisch beim Einschalten des Rechners laden. (Per Autostart Windows)

Nun sollte halt automatisch das entsprechende Formular angezeigt werden.
Ist halt leichter, als ein weiteres Klicken per Button.

Jede Frontend hat einen eigenen Rechner.

CptChaos
28.04.2011, 15:12
Was spricht dann gegen einzelne, für den jeweiligen Bereich spezifische FrontEnds?

Ich weiß immer noch nicht, woran die Anwendung erkennen soll, welches Formular geladen werden muß...
User? Wert am Rechner (z.B. Registry)? Rechnername? GPS-Lokation?

Christian-1981
28.04.2011, 15:15
Am besten sollte es an einem Wert am Rechner sein. Z.B. das dort eine Textdate beim Frontend ist, wie Z:B:
buero.txt
schichtfuehrer.txt
weiss.txt
schwarz.txt
wartung.txt

Christian-1981
28.04.2011, 15:32
habe was gefunden.
Starte Access über bat datei mit endung /runtime /x Modulname

Atrus2711
29.04.2011, 08:19
Noch besser wäre der Ansatz, eine (!) Textdatei mit festgelegtem Namen an festem Pfad zu haben, wo drinsteht, welches Formulars geladen werden soll. Das erspart dir, die richige Datei erstmal zu suchen.

Die Datei könnte z.B. "DBConfig.txt" heißen und einfach nur den Formularnamen enthalten.

Ein Startformular (das faktisch nur code ausführt und nicht manuell bedient wird) könnte dann folgendes BeimÖffnen tun:

Private Sub Form_Open(Cancel As Integer)
Dim strFile As String
Dim strForm As String
strFile = CurrentProject.Path & "\DBConfig.txt"
If Dir(strFile) = "" Then
'Datei nicht vohanden -> Programm schließen (oder was auch immer)
DoCmd.Quit acQuitSaveNone
Else
'Datei vorhanden
'Datei lesen
Open strFile For Input As #1
Input #1, strForm
Close #1
If strForm <> "" Then
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm strForm
Else
MsgBox "Formularname in Datei fehlt!"
End If
End If
End Sub

Christian-1981
29.04.2011, 10:48
hmm das probiere ich jetzt mal aus. Wäre echt die beste Methode- Danke