Aus access via makro excel datei öffnen

Hallo zusammen!
Ich müsste von Access 2007 aus, am besten via makro, eine excel datei öffnen (einfach nur öffnen, so wie doppelklick)!!
kann mir da jemand weiterhelfen!

Hier der Hintergrund:
Ich habe eine Tabelle, von der ich eine Abfrage mache.
Diese Abfrage exportiere ich ins excel via makro (abfrage2.xlsx)! In der Exceldatei habe ich nachträglich mehrere spalten mit berechnungen eingefügt!!
Diese Datei wird dann wieder importiert, aber komischerweise funktioniert der import nur richtig, wenn die excel datei geöffnet ist!
Dh die Werte der zusätzlichen Spalten werden nur richtig übertragen,wenn die excel datei offen ist! ansonsten werden irgendeine falschen Daten übertragen! wobei ich selber nicht weiss, wo access diese hernimmt!

Danke vielmals und freundliche Grüße
Luca

Hallo Luca1909,
ich habe schon mehrfach Probleme mit Import/Export zu und von Excel in der Vergangenheit behoben. Access scheint das allerdings besser zu machen als die Datenbankinterfaces aus C, C++. Ein Export und Reimport Deiner Daten macht für mich aufgrund vielfältiger Fehlerquellen nur Sinn, wenn er „von außen“ vorgeschrieben wird (z.B. weil extern editiert werden muß und dort kein Access zur Verfügung steht). Berechnete Spaltenwerte auf Basis der aktuellen Zeile lassen sich leicht auch direkt in einer SQL Abfrage generieren, zum Editieren von Daten kann ein Formular in Access erstellt werden. Für mich ist der „heißbegehrte“ Import/Export von und zu Excel eine Folge schwacher oder lückenhafter Benutzeroberflächen, die so umgangen werden soll, aber an sich kein wertvolles Feature.
Ich könnte mir denken, dass die Jet Engine unter MS Access keine Excel Formeln auswertet und daher berechnete Spalten nicht füllen kann. Erst wenn Du Excel ausführst, macht Excel das für Dich - dass könnte man zwar auch automatisieren beim Export, für mich bleibt es aber ein Irrweg.
Viele Grüße
AusXer

Hallo Luca,

warum nimmst Du den umständlichen Weg des Ex- und Imports in und aus Excel?
Ich vermeide möglichst diese Schnittstelle, also Access->Excel->Access.
Eine Möglichkeit wäre:

'Dim oXlsx As New Excel.Application

’ With oXlsx
’ .Workbooks.Open Filename:=„C:\abfrage2.xlsx“
’ .Visible = True
’ -ab hier kannst Du dann Dein(e) Excel-Makro(s)
’ -ausführen…
’ .ActiveWorkbook.Save
’ .Quit
’ End With

Zur Erklärung:
Mit ‚oXlsx‘ öffnest Du in Access eine Excel-Instanz, Du sagst Access quasi, es sei Excel.
Nach dem „with oXlsx“ kommt reines Excel-VBA. Mit dem „end with“ wird diese Excel Instanz wieder geschlossen, Access ist dann wieder Access :smile:

Denkbar wäre auch die Option, die Berechnungen direkt in Access durchführen zu lassen- meiner Meinung nach die elegantere Lösung.
Was soll in Excel denn berechnet werden?

Gruß
emacs

auf deine Konkrete Frage hbeich keine Antwort da ich mich vom Programmieren zurück halte und versuch die Aufgaben mit ACCCESS MItteln zu lösen.
hier bietet sich aber augenscheinlich die Möglichkeit die Tebelle nicht zu importieren sondern in ACCESS eine Verknüpfung zu dieser Datei herzustellen. (Menü-Tabelle/Import/Vernüpfen)Dann hast Du alle Möglichkeiten aus EXCEL und ACCESS,also die Berechnungen aus EXCEL in EXCEL und die Datenbankfunktionen in ACCESS aus ACCESS da Du die Tabellen auch für Abfragen nutzen kannst. Dieser Weg hat viel mehr Möglichkeiten als ein Makro.

Hallo!
Ich lese Die Anfrage erst jetzt, wenns nicht mehr aktuell ist vergiss es:
Im Access Code: Hast Du ihn so geschrieben, dass jedes Feld Deiner Access-Tabelle genau mit dem benannten Feld der Excel-Tabelle verknüpft ist?

Maritn