Access-db in ecxel konvertieren?

^hallo,

ich bin grad dabei eine software für eine viedeothek zu erstellen. soweit klappt auch alles ganz gut bis jetz. nun will ich erreichen, dass die access-db in der die filme abgelegt sind, auf druck des „drucken“-buttons, in ecxel konvertiert und ausgedruckt wird.
geht das?? wie?

axl

Hallo Axl

ich bin grad dabei eine software für eine viedeothek zu
erstellen. soweit klappt auch alles ganz gut bis jetz. nun
will ich erreichen, dass die access-db in der die filme
abgelegt sind, auf druck des „drucken“-buttons, in ecxel
konvertiert und ausgedruckt wird.
geht das?? wie?

Ja das geht. Gleich auf mehrere verschiedene Arten.
Natürlich muss man immer auf die Versionsproblematik der Office-Produkte achten.

Du kannst einmal von Access aus dem Code heraus ein Excel-Workbook erstellen und direkt in die Zellen reinmalen.
Zum zweiten könntest du einfach ein fertiges Excel-Dokument starten, das direkt per VBA-Makros und ADO auf die Access-MDB zugreift.

Geschmackssache, aber ich persönlich würde ein Excel-Dokument anlegen in dem sich eine fertig vorformatierte Vorlage befindet, dieses aus Access heraus einfach starten und dann, wie schon erwähnt, einfach per VBA-Code und ADO auf die Datenbank zugreifen. Da hat man eine saubere Trennung und die beiden Sachen können sich nicht in die Quere kommen.

Wie soll das denn exakt aussehen. Musst du dem Excel-Dokument Daten mitgeben?

Mit freundlichen Grüssen,
Volker Brömmel

Hi!

Gehen tut alles ;o))) du musst einen Verweis auf Excel angeben und kannst dann ein Excelobjekt erstellen. Da schreibst du dann eine funktion die die werte nach excel überträgt…
Dem objekt kannst du dann auch den Befehl zum drucken geben!

Gruß

Bernd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich weiß ja nicht genau, warum Du ausgerechnet Excel zum drucken verwenden willst? Sicher gibt es weitaus einfachere Methoden, Daten aus Deiner Access-Datenbank zu Papier zu bringen.

Entweder über den Access-eigenen Berichtseditor (sofern eine Vollversion installiert ist) oder Du schaust einfach mal unter http://www.dreport.de, da kannst Du den kostenlosen DReportViewer inkl. DReportEngine ziehen. Du kannst dann entweder Access-Berichte konvertieren oder aber über die Programmierschnittstelle selber zu Laufzeit einen Bericht basteln, der auf Deine Access-DB zugreift (Access wäre in diesem Falle nur für das Konvertieren nötig, ansonsten genügt die DAO).

Gruß, Chris.

Wie soll das denn exakt aussehen. Musst du dem Excel-Dokument
Daten mitgeben?

hallo,

also ich habe eine tabelle in meiner datenbank in der sämtliche filme aufgelistet sind. nun möchte ich über vb die liste ausdrucken, also alle filme. also bei druck auf dem button „Drucken“ soll eine Ecxel-liste mit den daten aus der db ausgedruckt werden.

axl

Entweder über den Access-eigenen Berichtseditor (sofern eine
Vollversion installiert ist) oder Du schaust einfach mal unter
http://www.dreport.de, da kannst Du den kostenlosen
DReportViewer inkl. DReportEngine ziehen. Du kannst dann
entweder Access-Berichte konvertieren oder aber über die
Programmierschnittstelle selber zu Laufzeit einen Bericht
basteln, der auf Deine Access-DB zugreift (Access wäre in
diesem Falle nur für das Konvertieren nötig, ansonsten genügt
die DAO).

hallo chris,

hm, kannst du mir evtl. noch verraten wie ich es schaffe, das ich mittels vb heraus einen access-bericht drucken kann?? mit welchem befehl??

axl

hallo chris,

hm, kannst du mir evtl. noch verraten wie ich es schaffe, das
ich mittels vb heraus einen access-bericht drucken kann?? mit
welchem befehl??

Einfach einen Objektverweis auf die „Access.Applikation“ (z.B. Dim oAccApp As New Access.Application) erzeugen (vorher muss natürlich die Access-ObjectLibrary als Verweis hinzugefügt werden), dann die Datenbank öffnen „oAccApp.OpenCurrentDatabase {Pfadname der MDB}“ und anschließend den Bericht mit „oAccApp.DoCmd.OpenReport {Berichtsname}, acViewNormal“ drucken (acViewPreview) wäre die Seitenvorschau) und fertig.

Ach ja, danach noch mit oAccApp.Quit die Verbindung und damit Access wieder schliessen.

Ist eigentlich auch in der MSDN-Hilfe alles zu finden.

Gruß, Chris.