Fragensteller
Aus dem AddIn heraus die zugehörige Access-Datenbank zum Editieren öffnen?

Frage
-
Hallo an alle Experten!
Ich habe als kleiner Werkzeugmacher ein "dickes Ding" gebastelt, das die Microsoftlösung für Umschläge und Etiketten und auch die Lösung von AveryZweckform um Längen schlagen könnte (funktioniert bereits alles perfekt). Damit ist Etkettendruck über MS-Publisher oder dem wordeigenen Tool für mich und vielleicht für viele unserer befreundeten Verein passe ...
Meine Frau war jetzt Testperson :-) - ich weiß ja wie ich an die zugehörige Access-Datenbank rankomme (einfach in der Installation festgelegt!) - doch jetzt ist meine Frage:
Meine Applikation müsste eigentlich genau wissen wo meine "Adressenliste.accdb" liegt, bzw. wo AdressenlisteDataSet.xsd den Inhalt her bezieht?!
Wie kann ich jetzt z.B. mit Button4 in der Form2 einfach die in der Installation vorhandene Adressenliste.accdb in Access zum Bearbeiten öffnen?? (Access ist selbstverständlich auf dem Rechner installiert)
Danke im Voraus für ein kleines "Schnipsel"
Programmversion: Visual Studio 2010, Sprache VB.Net, das AddIn läuft auf Word 2007 und 2010, Betriebssystem Win 7, VSTO-Erweiterungen in Visual-Studio sind installiert :-)
Viele Grüße
Konrad
ks
Alle Antworten
-
Hallo Konrad,
die .accdb Datei liegt schon im Dateisystem und den Pfad dazu kennst Du bzw. die Anwendung? Falls ja, müsstest Du eigentlich nur Process.Start verwenden, den Pfad plus Dateinamen der accdb als FileName des ProcessStartInfo Objekts angeben und ggfs. noch UseShellExecute auf True setzen.
Damit wird dann Access geöffnet und die Datenbank geladen.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Montag, 18. Februar 2013 17:20
-
Erst mal Danke für die schnelle Antwort!
Doch genau das ist ja das Problem, ich bin mir ja in keinster Weise sicher, wo jemand anders hin installiert?!
Außerdem macht Visual Studio es auf einmal viel zu leicht eine Datenbank einzubinden. Vor 10 Jahren hab' ich noch eindeutige SQL-Anweisungen geschrieben - dazu musste ich einfach genau wissen wo ich hin will ;-)
In einer anderen Anwendung (CAD) hab' ich einfach dann den Pfad mit "fullpath" ausgelesen ... gibt's so etwas auch aus einem Word-AddIn heraus für die zugehörige Access-Datei?
Viele Grüße
Konrad
ks
-
Ich muss schon noch einmal nachbohren ;-) ...
Ich kann jetzt meine Frage weiter eingrenzen:
Mit Process.Start("vollständiger Pfad zur Datenbank") startet ja schon mal Access und lädt die Datenbank.
Ich möchte jetzt eigentlich nur noch den Pfad zur Laufzeit ermitteln. Im Projektmappenexplorer sieht man ja auch die Adressenliste.accdb und beim Anklicken wird ja auch in den Eigenschaften der vollständige Pfad aufgelistet.
Kann ich jetzt irgendwie von der Form2 aus irgendwie diese Eigenschaft auslesen?
Danke für eure Hilfe!
Viele Grüße
Konrad
ks
-
es wird noch weiter "lichter":
mit dem Stichwort "relativer Pfad zum AddIn" bin ich weitergekommen.
Sytem.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)
mit diesem String komm ich jetzt im Debug-Modus ja schon mal weiter (allerdings entsteht ja im Debug-Modus die .dll erst einmal in einem kryptischen Verzeichnis tief in /users.../AppData
Wenn ich das AddIn erstelle funktioniert es noch nicht. Irgendwo hab ich etwas noch nicht verstanden oder die Anwendung hat sich den absoluten Pfad zur Datenbank gemerkt??
mfg
Konrad
ks