Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Abfragen/temp Tabellen aus Access in Excel exportieren

Frage Entwicklung

Mitglied: mac-d

mac-d (Level 1) - Jetzt verbinden

30.09.2005, aktualisiert 14.02.2006, 27113 Aufrufe, 13 Kommentare

hi,

ich habe in access vier abfragen mit jeweils einem wert. diese 4 werte(aus vier abfragen) will ich mittels vba aus access in eine excel tabelle exportieren und zwar soll jeden wert an einer bestimmten stelle. kann mir jemand helfen?
thx mac
Mitglied: coppi
02.10.2005 um 16:41 Uhr
Das Problem habe ich auch.
Es funktioniert zum Einen mit einem Import externer Daten in Excel oder mit einem Modul in Access, womit eine Excel-Tabelle generiert wird.
Leider ist mir bislang nicht bekannt, wie ich so ein Modul programmieren kann.
Access ist da sehr unübersichtlich.
Vielleicht kann ja jemand erläutern, wie so etwas genau funktioniert.
Bitte warten ..
Mitglied: Eierbaer
03.10.2005 um 11:21 Uhr
Hi,

das Problem läßt sich aus Access herauslösen, wenn du ein VBA-Modul wie unten beschrieben benutzt.

mfg



Public Sub test()
Dim xlApp As Object ' Excel.Application
Dim xlBook As Object ' Excel.Workbook
Dim xlSheet As Object ' Excel.Worksheet

Dim rst As DAO.Recordset

'Excel-Objekt öbffnen und Workbook hinzufügen
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add()

'Wert aus 1.Abfrage in Zelle A4 kopieren
Set xlSheet = xlBook.Worksheets(1)
Set rst = CurrentDb.OpenRecordset("Abfrage1")
xlSheet.Range("A4").CopyFromRecordset rst
rst.Close

'Wert aus 2.Abfrage in Zelle C4 kopieren
Set rst = CurrentDb.OpenRecordset("Abfrage2")
xlSheet.Range("C4").CopyFromRecordset rst
rst.Close

'Objekte schließen
Set rst = Nothing
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
Bitte warten ..
Mitglied: coppi
03.10.2005 um 11:48 Uhr
Danke für die schnelle Antwort.

Ich habe den Code einfach mal in meine Anwendung unverändert hineinkopiert.
Beim Ausführen bekomme ich dann die Fehlermeldung:

Fehler beim Kompilieren:
Benutzerdefinierter Typ nicht definiert

Dabei wird die Programmzeile

Dim rst As DAO.Recordset

blau hinterlegt.

Woran liegt das denn?

Hat sich erledigt!
Wer suchet der findet.

Ich hatte die "Microsoft DAO 3.6 Object Library" nicht aktiviert.
Danach funktioniert das script.
Vielen Dank!!!
Bitte warten ..
Mitglied: mac-d
04.10.2005 um 11:37 Uhr
das script geht bei zwar auch, nur habe ich das problem das ich abfragen nicht auslesen kann. ich bekomme immer eine fehlermeldung" Laufzeitfehler 3078". mit einer tabelle funktioniert es wunderbar. kann mir einer helfen?
Bitte warten ..
Mitglied: Eierbaer
04.10.2005 um 13:09 Uhr
Wie sieht denn deine Abfrage aus? Der Laufzeitfehler '3078' sagt nur, das es die Tabelle nicht gibt. Das Problem muß also in der Abfrage stecken bzw. im Aufruf.
Bitte warten ..
Mitglied: mac-d
04.10.2005 um 13:21 Uhr
ich kann alle abfragen öffnen und bekomme das gewünschte ergebnis nur über OpenRecordset lassen sich keine! abfragen öffnen bzw. das ergebnis auslesen. mit tabellen habe ich keine probleme
Bitte warten ..
Mitglied: Eierbaer
04.10.2005 um 13:35 Uhr
Tut mir leid, aber mit der Aussage kann ich nichts anfangen. Schreib doch mal das SQL der Abfrage und den Aufruf des OpenRecordset.

Wie ist es mit der Zeit zwischen auf Aufruf und Ergebnis der Abfrage, gibt es evtl. ein Timeout-Problem?
Bitte warten ..
Mitglied: mac-d
04.10.2005 um 14:45 Uhr
hier meine sql-abfrage:

SELECT count(*) AS anzahl
FROM Kombi, Personal, Bestellung, typ
WHERE Personal.PNr=Bestellung.PNr And Kombi.KombiNr=Bestellung.KombiNr And Month([Bestellung.datum])=Month(Formulare!Monattest!txtDatum1) And Year([Bestellung.datum])=Year(Formulare!Monattest!txtDatum1) And Kombi.KombiNr=Bestellung.kombiNr And kombi.typnr=typ.typnr And (typ.typnr Between 2 And 7 Or typ.typnr Between 9 And 10);


hier mein aufruf:

Public Sub test3()
Dim xlApp As Object ' Excel.Application
Dim xlBook As Object ' Excel.Workbook
Dim xlSheet As Object ' Excel.Worksheet

Dim rst As DAO.Recordset

'Excel-Objekt öbffnen und Workbook hinzufügen
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add()

'Wert aus 1.Abfrage in Zelle A4 kopieren
Set xlSheet = xlBook.Worksheets(1)
Set rst = CurrentDb.OpenRecordset("Monat_Pizza")
xlSheet.Range("A4").CopyFromRecordset rst
rst.Close
.
.
.


EDIT:

1. SQL abfrage funktioniert wenn ich es z.b.mit doCmd aufrufe
2. der aufruf funktioniert mit anderen abfragen (nur nicht mit dieser abfragen)
Bitte warten ..
Mitglied: mac-d
04.10.2005 um 17:01 Uhr
hab nun doch anderst gelöst!

'Wert aus 1.Abfrage in Zelle A26 kopieren
Set xlSheet = xlBook.Worksheets(1)
Set rst = CurrentDb.OpenRecordset("SELECT Count(*) AS anzahl FROM Kombi, Personal, Bestellung, typ WHERE Personal.PNr=Bestellung.PNr AND Kombi.KombiNr=Bestellung.KombiNr And Kombi.KombiNr=Bestellung.kombiNr AND Month(Bestellung.datum)=Month('" & Form_Monattest.txtDatum1 & "') AND Year(Bestellung.datum)=Year('" & Form_Monattest.txtDatum1 & "') AND Kombi.TypNr=typ.typnr AND typ.TypNr=1")
xlSheet.Range("A26").CopyFromRecordset rst
rst.Close

etc...
Bitte warten ..
Mitglied: visit
10.11.2005 um 16:59 Uhr
Hallo zusammen,
kann ich das Script auch dazu benutzen eine Abfrage mit mehr als einem Wert in Excel zu exportieren?
Wenn ja, wie mach ich das?

Danke im Voraus!

ViSiT
Bitte warten ..
Mitglied: Biber
10.11.2005 um 21:10 Uhr
@visit
Laut Aufruf der VBA-Hilfe in Excel und Eingabe des Suchbegriffs "CopyFromRecordSet" könnte es in Excel 2002 so gehen:
[Zitat]
CopyFromRecordset-Methode
Siehe auch Betrifft Beispiele Zusatzinfo
Kopiert den Inhalt eines ADO- oder DAO-Recordset-Objekts in ein Arbeitsblatt, wobei an der linken oberen Ecke des angegebenen Bereichs begonnen wird. Enthält das Recordset-Objekt Felder mit OLE-Objekten, schlägt diese Methode fehl.

Ausdruck.CopyFromRecordset(Data, MaxRows, MaxColumns)

Ausdruck Erforderlich. Ein Ausdruck, der ein Range-Objekt zurückgibt.

Data Erforderlicher Variant-Wert. Das Recordset-Objekt, das in den Bereich kopiert werden soll.

MaxRows Optionaler Variant-Wert. Die maximale Anzahl von Datensätzen, die in das Arbeitsblatt kopiert werden sollen. Wenn Sie dieses Argument nicht angeben, werden alle Datensätze im Recordset-Objekt kopiert.

MaxColumns Optionaler Variant-Wert. Die maximale Anzahl von in das Arbeitsblatt zu kopierenden Feldern. Wenn Sie dieses Argument nicht angeben, werden alle Felder im Recordset-Objekt kopiert.

Anmerkung
Das Kopieren beginnt mit der aktuellen Zeile des Recordset-Objekts. Nach dem Kopieren hat die EOF-Eigenschaft des Recordset-Objekts den Wert True.

Beispiel
In diesem Beispiel werden die Feldnamen von einem DAO-Recordset-Objekt in die erste Zeile eines Arbeitsblattes kopiert und fett formatiert. Anschließend wird in diesem Beispiel der Datensatz in das Arbeitsblatt kopiert, beginnend mit Zelle A2.

For iCols = 0 to rs.Fields.Count - 1
ws.Cells(1, iCols + 1).Value = rs.Fields(iCols).Name
Next
ws.Range(ws.Cells(1, 1), _
ws.Cells(1, rs.Fields.Count)).Font.Bold = True
ws.Range("A2").CopyFromRecordset rs
[Zitat Ende]

Leider hast Du nicht gepostet, welche Excel/Accessversionen Du verwendest - ich könnte sonst noch ein paar Bekannte anrufen, die eventuell Deine Version im Einsatz haben und um kurzes Nachgucken in der Hilfe bitten.
BTW, auf welche Art hast Du denn versucht, Dich mit Deiner Frage auseinanderzusetzen?

Grüße Biber
Bitte warten ..
Mitglied: visit
11.11.2005 um 09:19 Uhr
danke für die schnelle antwort, aber ich hab es mit einem makro gelöst:

Aktion: TransferArbeitsblatt
Transfertyp: Exportieren
Dateiformat: Microsoft Excel 8-10
Tabellenname: (Tabelle oder Abfrage)
Dateiname: (Zieldatei mit Pfad)
Bereich: (Name des Tabellenblatts)
Bitte warten ..
Mitglied: Bekka
14.02.2006 um 10:17 Uhr
Supi, das war genau das was ich gesucht habe und es funktioniert auch soweit.
Jetzt stehe ich allerdings vor dem nächsten Problem.
In meinen Abfragen habe ich 2 Variable Kriterien:
"[Formulare]![Frm_ÜbersichtAuswahl]![cbo_AuswahlVergleichLand1] Oder [Formulare]![Frm_ÜbersichtAuswahl]![cbo_AuswahlVergleichLand2]"
die aus einem Formular kommen.
Beim durchführen bekomme ich dann immer Laufzeitfehler 3061, 2 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergen.
Wie kann ich denn am besten die Parameter aus meinem Formular übergeben?

Ich hoffe, es kann mir jemand helfen.

Gruß Bekka

P.S. Manchmal muss man nur ein paar Nächte darüber schlafen um auf eine Lösung zu kommen. Ein einfaches Recordset genommen und im open die 2 variablen in SQL eingebaut
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
ACCESS 2010 DLookup auf eine Temp Tabelle machen.
gelöst Frage von karlchristianMicrosoft Office5 Kommentare

Hallo, ich möchte eine DLookup auf eine Temp Tabelle machen. leider bekomme ich hier immer den Fehler das er ...

Datenbanken
Excel Tabelle in Access Datenbank
gelöst Frage von Dr.CornwallisDatenbanken9 Kommentare

Liebe Gemeinde, ich muss aus einer Excel Tabelle Daten in einen Access Table importieren, nun möchte ich die Excel ...

Datenbanken
Access 2010 - Abfrage über mehrere Tabellen
gelöst Frage von EisbrecherinDatenbanken12 Kommentare

Hallo zusammen! Ich bin gerade etwas am Verzweifeln mit Access 2010. Meine Datenbank besteht aus folgenden Tabellen / Beziehungen: ...

VB for Applications
Script um für eine Access- Abfrage Datensätze in jeweils eine Datei zu exportieren
Frage von GraudonVB for Applications11 Kommentare

Problem: ich möchte das Ergebnis einer Access-Abfrage für jeden einzelnen Datensatz eine eigene Text-Datei ausliefern. Die Abfrage läuft in ...

Neue Wissensbeiträge
Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 1 StundeVerschlüsselung & Zertifikate

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 12 StundenWindows 102 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 14 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner3 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen13 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...