Hallo zusammen,
ich bin neu im Umgang mit C# und möchte eigentlich nur eine Anbindung mit Microsoft Access umsetzen.
Um genau zu sein, soll ein Makro gestartet werden, dass dann ne Weile läuft. Das geht dann in Richtung Automation.
Ich habe folgenden Artikel gefunden.
How to automate Microsoft Access by using Visual C# - Office
Mein Problem ist, dass beim Starten immer eine Fehlermeldung kommt, dass die Access Datenbank nicht gefunden wird bzw. nicht exklusiv geöffnet werden kann.
Hat da jemand Erfahrung?
Ich würde mich schon freuen, wenn ich den Code zum laufen bringen würde.
Da sollte nur ein Bericht geöffnet werden.
oAccess.DoCmd.OpenReport(
"Sales", //ReportName
Access.AcView.acViewPreview, //View
System.Reflection.Missing.Value, //FilterName
System.Reflection.Missing.Value //WhereCondition
);
Ja, Access vermeiden.
Access ist keine echte Datenbank und hat etliche Einschränkungen und Fehlerpotentiale, darunter wie auf die Datenquelle zugegriffen werden kann (=> exklusiv).
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke für die Nachricht.
Access ist vielleicht keine Datenbank, hat aber dennoch im Mittelstand gewaltige Vorteile.
Die Frage ist aber ob ich da irgendwie mit C# rankomme?
Berate seit 10++ Jahren den Mittelstand, vor allem die Maschinenbauer - und ich kenn keinen, der nicht so schnell wie möglich vom Access-Quatsch wegkommen will.
Die Vorteile, die Access vor 20 Jahren mal hatte, sind schon mehrfach überholt.
Access ist kein Tool, das Automatisierung mag, geschweige denn, dass es sicher mit Daten umgehen kann - vor allem nicht mit vielen.
Es ist dafür schlicht weg nicht gemacht worden - umso mehr jedoch dafür missbraucht worden. Viele Entwickler verdienen richtig gut an Unternehmen, die sich trotzdem mit Access verrannt haben - und den Wechsel teuer bezahlen 🙂
Du kannst Glück haben und Dein Wunsch ist in einem Tag umgesetzt, Du kannst Pech haben und Du wirst mehr Zeit rein stecken, als eine Migration Dich kosten würde.
Access ist aus Sicht der Software Entwicklung einfach eine sensible, instabile Basis.
Wenn Access Deine DB exklusiv (Share Exclusive Mode) öffnet, kannst keine Verbindung öffnen. Das wird von Access Schlicht und Einfach nicht unterstützt.
Enforcst Du das, endet das i.d.R. in einer beschädigten Access Datendatei. Aber auch wenn man Access im Multi Access Mode öffnet, gibts es keinen technischen Schutz vor beschädigten Datendateien.
Mein Problem ist, dass beim Starten immer eine Fehlermeldung kommt, dass die Access Datenbank nicht gefunden wird bzw. nicht exklusiv geöffnet werden kann
Wenn Du also eine dieser Nachrichten bekommst, dann wird das schon stimmen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code