Neuigkeiten:

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

Mobiles Hauptmenü

Datenübertragung von Access nach Excel

Begonnen von Rivside, Juni 04, 2020, 07:24:21

⏪ vorheriges - nächstes ⏩

Rivside

Hallo zusammen,

ich benutze folgendes Code um Daten aus einem Access Formular ins Excel zu übertragen:

Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
   
Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = True

Set oBook = oExcel.Workbooks.Open(Application.CurrentProject.Path & "\" & "test.xlsx", , True)

Set oSheet = oBook.Worksheets(1)

oSheet.Range("D9").Value = Me!Text0


Das Problem ist aber, in diesem Test Formular habe ich einige Formeln erstellt. Diese werden nicht berücksichtigt da die Daten aus Access erstmal nicht erkannt werden. Nachdem ich die in die jeweilige Zeile reingehe und mit ENTER bestätige, da wird die Formel erst berechnet.

Kann man die Daten anders als mit .Value übertragen? Es sieht so aus als die Daten irgendwo im Luft sind und erstmal richtig per Hand eingegeben werden müssen...

DF6GL

Hallo,,

WO stehen denn die Berechnungen (Formeln) ?

oSheet.Range("D9").Value = <<MeineBerechnung>>
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Rivside

Hallo,

danke für die schnelle Antwort.

Die Berechnungen stehen in die Vorlage (text.xlsx) fest. Es sind mehrere Zeilen die berechnet werden sollen. Die Zeilen werden aus Access ausgefüllt und die Formeln sollten dementsprechend direkt nach der Datenübertragung berechnet werden. Ist aber wie gesagt nicht der Fall da Excel die Zahlen nicht erkennt.

DF6GL

Hallo,,

wenn ich das jetzt richtig verstehe, handelt es sich um ein Excel-Problem.

Excel kann so eingestellt werden, dass Formeln verschiedenartig berechnet werden.  Schau in Excel unter Optionen/Formeln/Berechnungsoptionen nach, ob dort Automatisch eingestellt ist.

Ansonsten berechne per Code:

oSheet.Range("D9").Calculate


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Rivside

Hallo,

rein theoretisch ist das ein Excel und Access Problem.

Die Autoberechnung ist bereits eingestellt. .Calculate bring auch kein Resultat.

Access soll Zahlen in die Excel-Zeilen übertragen. Das tut der auch. Das Problem ist nur dass diese Zahlen zwar in den Zeilen erscheinen, aber die werden nicht "gebunden" sozusagen.
Mal angenommen: Access überträgt folgende Zahlen: 22, 23, 43. In den Zeilen werden die Zahlen ganz normal geschrieben. Da neben steht ein Mittelwert-Formel die berechnet werden soll. Aber für diese Formel sind die Zeilen trotzdem immernoch "null". Erst wenn ich die Zeile z.B. mit "22" anklicke bzw. darein gehe und mit ENTER bestätige, erst dann erkennt Excel dass da sich überhaupt eine Data befindet. Erst dann, erkennt die Formel dass die Zeile von "null" auf "22" geändert wurde.

Rivside

Okay, ich hab es hinbekommen. Vielleicht hat irgendjemand zukünftig auch ein gleichen Problem:

Es lag an der Formatierung. Im Excel müssen natürlich alle Zeilen als Zahl festgelegt werden, im Access genauso - alle Textfelder als Zahl formatieren lassen. Danach erkennt der Excel die Zahlen und berechnet die Formeln automatisch.

Gruß

ebs17

Zitatdass die Zeile von "null" auf "22" geändert wurde
Vermutlich ZELLE, nicht ZEILE ...

Vor allem aber auch: Excel kennt kein NULL (VBA dann schon). Es ist also schon hilfreich, sich mit seinen Entwicklungsumgebungen ein wenig vertraut zu machen.
Mit freundlichem Glück Auf!

Eberhard