Access DB / Form von extern füttern (Access)

Floyd, Mittwoch, 16.09.2020, 15:17 (vor 15 Tagen)

Hallo Zusammen,

ich brauche ggf. mal eine strategisch Nachhilfe.

Ich habe ein sehr umfangreiche Access-DB erzeugt, mit der auf eine größeren Datenbank zugegriffen wird. Sie besteht aus recht komplizierten SQL's, zig verknüpften Tabellen und mehreren Forms. Die enthalten i.d.R. Text - oder Kombifelder
Mit den Forms können individuell Abfragen vom User erzeugt werden. Alles funktioniert soweit gut.

Jetzt habe ich noch den Part von regelmäßigen Abfragen, die ich als Endziel per Scheduler planen möchte.
Die Forms sollen dann nicht mit individuellen Werten, sondern mit feststehenden Werte gefüllt werden, die fast nie verändert werden.
Die og. Anwendung sollte grundsätzlich nicht verändert werden.

Frage:
Kann ich die Werte z.B. in einer INI-datei ablegen und dann in die Forms beamen ?
Alternativ - ist es möglich, aus einer weiteren Access-DB die Forms der og. Access-DB zu füllen ohne diese zu verändern ?

Gibt es weitere Alternative . Wie würdet ihr so was angehen ?

Vorab danke für's Mitdenken !

Gruß Floyd

Access DB / Form von extern füttern

Martin Asal @, Mittwoch, 16.09.2020, 19:52 (vor 15 Tagen) @ Floyd

Hallo Floyd,

Kann ich die Werte z.B. in einer INI-datei ablegen und dann in die Forms beamen ?

INI-Dateien? Sind wir noch in den 80ern? :-D

Schau mal hier ins Tutorial.

Martin

Access DB / Form von extern füttern

Floyd, Donnerstag, 17.09.2020, 09:57 (vor 14 Tagen) @ Martin Asal

Hallo Martin,

ok - Hinweis verstanden.:-)

Es scheint mir der Weg, eine separate Tabelle zu nutzen oder alternativ echte Dok-Eigenschaften der richtige Weg zu sein, die Werte für die FORM abzulegen.

Da ich dann das ganze später per Win- Scheduler starten möchte (vermutlich Aufruf eines Makros), wie schaffe ich es denn, die dort abgelegten Parameter in die Felder der Form zu übernehmen.

Nehmen wir an, die separate Tabelle tblParameter1 enthält u.a. das Datenfeld STANDORT.
Gleich gibt es in der Form als Listfeld. Vermutlich Aufruf eines Moduls / Ausführen Code richtig ?

Danke für die Starthilfe

Gruß
Floyd

Access DB / Form von extern füttern

Martin Asal @, Donnerstag, 17.09.2020, 10:52 (vor 14 Tagen) @ Floyd

Wenn ich dich richtig verstanden habe, brauchst du nur eine Möglichkeit, deine Datenbank anders zu starten als üblich. Kennst du den cmd- Startparameter?

Erstelle z. B. auf seinem Desktop eine neue Verknüpfung zu deiner DB. Etwa so:

C:\MSACCESS.EXE D:\MYDB.ACCDB /cmd scheduler

Wenn du darüber deine Datenbank startest, läuft erst einmal alles wie üblich. Aber, oh Wunder, wenn du

 Debug.Print Command()


eingibst, bekommst du "scheduler" zurück :-)

Martin

Access DB / Form von extern füttern

Floyd, Donnerstag, 17.09.2020, 19:09 (vor 14 Tagen) @ Martin Asal

Hallo Martin,

ich starte Access - DB's per Win - Scheduler access/ makroname. Das ist mir schon bekannt, aber das sind fertige DB/ Masken, die einfach ausgeführt werden.

Ich versuche es mal anders zu erklären, wo mein Brett ist ..:-(

Ich lege also die Parameter, mit der die fertige Form gefüllt werden soll, in einer separten Tabelle (tblParameter_1 ) in derselben Datenbank ab - lt. deinem Link wohl m.E. die beste Methode ....
-
Nehmen wir an, die Felder heißen Datum_von / Datum_bis (Textfelder) und Region (Listfeld).

Wie schaffe ich es jetzt zunächst, dass diese dort hinterlegten Parameter in die fertige Auswertemaske z.B. (Form1 / Felder mit gleichen Bezeichnungen ) transportiert werden.
In einem ersten Schritt erst einmal manuell.

Am Ende, wenn alles funktioniert, kommt dann der Scheduler ins Spiel, mit dem ich dann das automatisiert (ich kenne nur Makro-Aufruf) machen kann.

Ich hoffe, so ist es verständlich.

Gruß Floyd

Access DB / Form von extern füttern

Martin Asal @, Freitag, 18.09.2020, 14:43 (vor 13 Tagen) @ Floyd

Hallo Floyd,

ich habe noch nicht ganz verstanden, wo denn nun noch dein Problem ist?

Das mit dem /cmd-Parameter hst du verstanden? Der Scheduler startet Access mit einem Parameter, im Gegensatz zum "normalen" Aufruf. Beim Starten wertest du aus, ob der /cmd-Parameter gesetzt ist und wenn ja, filterst du deine Forms entsprechend der Parameter in der "tblParameter_1".

Martin

Access DB / Form von extern füttern

Floyd, Samstag, 19.09.2020, 09:21 (vor 12 Tagen) @ Martin Asal

Hallo Martin,
ich denke schon, dass ich das mit dem /CMD verstanden habe. Danke schon mal für den Tipp.

Ich würde es so lösen:

Pfad ….\msaccess.exe" "C:\TEMP\TEST.accdb" /cmd "STARTEFORM"

If Command = "STARTEFORM" then
DoCmd.OpenForm "FORM1"
Else
MSGBOX „ggf. noch Fehlerbehandlung realisieren“
End If

Wie beschrieben, weiß ich jetzt nicht wie es weitergeht.

Wie kommen die Werte Datum_von / Datum_bis (Textfelder) und Region (Listfeld) aus der Tabelle tblParameter1 jetzt in die in etwa gleichlautenden Listfelder / Txtfelder der Form, um die Filerung vorzunehmen.

Wäre nett, wenn du mir nochmal auf die Sprünge helfen könntest.:-D

Gruß Floyd

Access DB / Form von extern füttern

Martin Asal @, Montag, 21.09.2020, 15:12 (vor 10 Tagen) @ Floyd

Indem du einfach den Formularfilter verwendest:

If Command = "STARTEFORM" then
  DoCmd.OpenForm "FORM1"
  Forms("FORM1").Filter = "Datum_von = #2020/01/31#"
  Forms("FORM1").FilterOn = True
End If

Naja, so ungefähr. Das Zusammenbauen des korrekten Strings bekommst du bestimmt auch alleine hin :-)

Martin

Access DB / Form von extern füttern

Floyd, Mittwoch, 23.09.2020, 16:00 (vor 8 Tagen) @ Martin Asal

Hallo Martin,

ah - verstehe. Das Setzen der Filter so .. Form1.Filter = hat mir gefehlt.

Datum_von = #2020/01/31# ' hinter dem Gleichheitszeichen muss ja dann der Feldinhalt

aus der Vorbelegungstablle rein ...
Ist mir noch nicht klar, aber ich versuche mal, weiterzukommen.

Vielen Dank für die Hilfe.

Gruß Floyd

RSS-Feed dieser Diskussion
powered by my little forum