Juli 29, 2021, 10:39:17

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Access auf einem anderen Rechner ausführen

Begonnen von Gaensi, Juni 21, 2021, 11:35:12

⏪ vorheriges - nächstes ⏩

Gaensi

Hallo,

folgende Konstellation: Ich habe ein Tool in C# geschrieben. Jetzt möchte ich den komfortablen Access-Bericht nutzen. Hierzu habe ich eine Access-Datenbank erstellt die mir beim Starten, die vom Tool zur Verfügung gestellten Daten importiert, in einen Access-Bericht packt, und diesen als pdf-Datei in einem freigegebenen Ordner ablegt.Von meinem PC aus funktioniert auch alles problemlos.

Nun das Problem: Diese Datenbank liegt auf einem PC im Netzwerk, auf dem auch Access 2016 als Vollversion installiert ist. Kann diese Datenbank auch von anderen PC's die weder Access2016 noch die Runtime installiert haben ausgeführt werden ? Also quasi ausführen in einer anderen Domain ?

Vielen Dank für Eure Hilfe
Kommt Moses nicht zum Berg, muss der Berg eben zu Moses

ebs17

Nein. Der ausführende Rechner braucht mindestens die Runtime-Version von Access.

Bei der Nurverwendung von Tabellen und Abfragen käme man hin, weil die dafür nötigen Bibliotheken auf quasi jedem Rechner vorhanden sind. Bei den eigentlichen Accessobjekten (Formulare, Berichte, Makros, VBA-Codes) braucht man die Accessinstallation.
Mit freundlichem Glück Auf!

Eberhard

markus888

Die Frage ist natürlich was da konkret passieren soll.

Abhängig davon sind verschiedene Szenarien ohne Access Installation denkbar.
Wenn man Dinge wie Berichtvorschau braucht, dann geht das nur via Remote-Desktop oder Ähnlichem.
Ansonsten, wenn es nur um das Erstellen eines Berichtes geht, sollte das auch mit einem Dienst funktionieren, der das Erstellen des Reports veranlasst.
10 Jahre Access

Gaensi

Es geht tatsächlich nur um die Erstellung eines Berichtes.
Wenn ich markus888 richtig verstehe, müsste ein Dienst auf dem PC der den Access-Bericht erstellen soll eingerichtet werden der von extern aufgerufen wird und dann das Access dort (lokal) startet ?

Gruß Michael
Kommt Moses nicht zum Berg, muss der Berg eben zu Moses

markus888

Korrekt.
Welche Schnittstelle nutzt du derzeit für das erstellen des Reports und das Auswerten eines Rückgabewertes aus Access?

10 Jahre Access

Gaensi

Das Tool ist in C# .NET Framework 4.6.1 geschrieben.
Stand jetzt erfolgt der Aufruf über die Zeilen

private static readonly string AccessBasePath = $"\\\\AndererPC\\MewaLabReport";
var AccStartParam = $"{nklId.ToString()}_{sprKz.ToString()}";

var process = Process.Start($"{AccessBasePath}\\MewaLabReports.accdb",$"/cmd {AccStartParam}");
process.WaitForExit();


Wie ich hier jetzt den Dienst einbinde muss ich üben. ...oder hast Du das schon einmal praktiziert?

               
Kommt Moses nicht zum Berg, muss der Berg eben zu Moses

markus888

Zitat von: Gaensi am Juni 21, 2021, 16:08:43Wie ich hier jetzt den Dienst einbinde muss ich üben. ...oder hast Du das schon einmal praktiziert?
               

.net ist nicht meine Welt. Aber du bist ja nicht der Erste.

Du nimmst also Startparameter.
Wertest du irgendwie aus, ob der "Druckjob" erfolgreich war?
Hab dieses grad gesehen.
10 Jahre Access

Gaensi

Da vertraue ich auf meinen hoffentlich fehlerfreien Access-Code ;D
Als Sicherheit werde ich das aber definitiv anpassen und einbauen.

Habe gerade noch eine andere Aufrufvariante gefunden:

Process reportAcc = new Process();
reportAcc.StartInfo.Domain = "Anderer PC";
reportAcc.StartInfo.Arguments = "/cmd {rootDaten}";
reportAcc.StartInfo.CreateNoWindow = true;
reportAcc.StartInfo.FileName = $"{AccessBasePath}\\MewaLabReports.accdb $/cmd {rootDaten}";
reportAcc.Start();

Interessant finde ich hier die Zeile StartInfo.Domain.
Sollte ich hier erfolgreich sein, werde ich es hier vermelden.

Bis dahin vielen Dank für Deine Ratschläge und Unterstützung.

Kommt Moses nicht zum Berg, muss der Berg eben zu Moses

Gaensi

Hallo,

nach mehreren Nächten des "googelns" und "Try and Error" ist es in keinster Weise möglich Access, ohne
lokale Installation der Vollversion bzw. Runtime, auf einem anderen PC zu starten.
Habe mir jetzt auf dem entfernten Rechner eine Batch zur Verzeichnis-Überwachung gebastelt und starte Access dann aus dem Batchprogramm.
On Top ist diese Variante wesentlich performanter als Access mit lokaler Installation bzw. Runtime zu starten.
Ergo: Manchmal ist es besser, gleich die letzte Alternative zu nehmen als die naheliegende.  :o  :)
Kommt Moses nicht zum Berg, muss der Berg eben zu Moses

markus888

Zitat von: Gaensi am Juni 24, 2021, 14:49:20Hallo,

nach mehreren Nächten des "googelns" und "Try and Error" ist es in keinster Weise möglich Access, ohne
lokale Installation der Vollversion bzw.

Lächerlich.
Gibt doch eh genug .net Foren, wo du fragen kannst.
Hab das mal von Jahren mit einem simplen Macro Programm mit Netzwerk Dienst gemacht.
10 Jahre Access

PhilS

Zitat von: markus888 am Juli 04, 2021, 21:18:05Lächerlich.
Warum ist das lächerlich?
Ich stimme @Gaensi zu. Du würdest das vermutlich auch tun, wenn du nochmal in Ruhe liest, was im vorigen Post steht.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

markus888

Zitat von: PhilS am Juli 05, 2021, 11:04:16Ich stimme @Gaensi zu. Du würdest das vermutlich auch tun

Ich lese das so: Es ist nicht möglich Access auf dem entfernten Rechner zu starten.
Dafür sollte es aber mehrere Möglichkeiten geben. Vermutlich reines Missverständnis.

LG Markus
10 Jahre Access