Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Access Daten in bestimmtes Excel Feld ausgeben

Frage Microsoft Microsoft Office

Mitglied: Valume91

Valume91 (Level 1) - Jetzt verbinden

08.12.2009 um 13:17 Uhr, 17434 Aufrufe, 12 Kommentare

Wie kann ich einen DS in Access per Button in ein bestimmtes Feld in einer Excel Datei einfügen?

Tag zusammen

Ich habe ein Formular in Access (frm_Hauptfehlermeldung).
Nun soll per Button der aktuelle DS in bestimmte Felder einer Excel Datei eingefügt werden.
Also z.B. :
Fehler1 --nach--> B3
Fehler2 --nach--> C2
usw.

Geht das? Und wenn ja, wie?

Lg Valume
Mitglied: 83928
08.12.2009 um 15:30 Uhr
Ja geht. Such mal nach "CreateObject" in der Officehilfe. Da ist AFAIK auch ein Codebeispiel.
Ansonsten wär es für eine Antwort nicht schlecht zu wissen welche Versionen Du ......................
Bitte warten ..
Mitglied: Valume91
08.12.2009 um 16:16 Uhr
Hi abaaba

Erstmal danke für die Antwort!
Ich habe mir den Createobject Befehl mal angesehen. Jedoch werde ich nicht richtig schlau daraus...
Ein konkretes Beispiel wäre nett.

Gruss Valume

Edit:
Ich verwende MS Access 2003 mit Microsoft Visual Basic 6.0
Bitte warten ..
Mitglied: 83928
08.12.2009 um 16:23 Uhr
Ich schau nachher mal ob ich was finde.
Excel ist auch 2003? Tabelle/Mappe soll neu angelegt werden oder besteht schon?
Bitte warten ..
Mitglied: Valume91
08.12.2009 um 16:29 Uhr
Hi

Ja Excel ist auch 2003. Tabelle/Mappe Bestehen schon.
Die gewünschten Felder sollen "einfach" aus Access abgefüllt werden.

Gruss Valume
Bitte warten ..
Mitglied: 83928
08.12.2009 um 19:26 Uhr
Hier der leicht abgeänderte Code aus der Hilfe



Dim xlAnw As Excel.Application
Dim xlBuch As Excel.Workbook
Dim xlArbBlatt As Excel.WorkSheet

Set xlAnw = CreateObject("Excel.Application")
Set xlBuch = xlAnw.Workbooks.Open("c:\dest.xls") 'Die Excel-Datei öffnen
Set xlArbBlatt = xlBuch.Worksheets(1) 'erstes Sheet

xlArbBlatt.Range("A1").Value = "Test" 'In Zelle A1 einen Wert eintragen


xlBuch.Save
xlAnw.Quit

Set xlBuch = Nothing
Set xlArbBlatt = Nothing
Set xlAnw = Nothing


Edit: Du musst unter ->Extras-> Verweise im VBA-Editor ein Hacken bei Mircrosoft Excel Object library (oder so ähnlich) machen
Bitte warten ..
Mitglied: Valume91
09.12.2009 um 08:32 Uhr
Danke! Ich probiers gleich aus.
Bitte warten ..
Mitglied: Valume91
09.12.2009 um 14:58 Uhr
Hi abaaba

Hat prima funktioniert! Besten Dank!
Jetzt muss ich noch herausfinden wie ich die im Formular
eingebundenen Endlosunterformulare exportieren kann.

lg Valume
Bitte warten ..
Mitglied: 83928
09.12.2009 um 15:22 Uhr
Erstell Dir ein Recordset-objekt, fülle es mit Daten und benutze die copyFromRecordset-Methode um die Daten einzufügen.

Hier ein paar Beispielzeilen (aus einem Excel-Makro) was die Daten aus einer Access97-DB holt


Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "Data Source=\\Server\Datenbank.mdb"
cn.Open
strSQL = "SELECT * from Blablabla"
With rs
.CursorType = adOpenDynamic
.LockType = adLockPessimistic
.CursorLocation = adUseClient
.Open strSQL, cn
End With
Cells(4, 1).CopyFromRecordset rs
Bitte warten ..
Mitglied: Valume91
14.12.2009 um 08:41 Uhr
Hi abaaba

Danke für deine Hilfe!
Ich verstehe jedoch nicht ganz:
- Wo soll ich den Code einfügen? Access oder Excel?
- Wenn Excel, wie mache ich das da? Ich hab bisher nur mit Access VBA gearbeitet

Gruss Valume

Edit sagt:
Ich bräuchte das ganze natürlich für Access bzw. Excel 2003, ändert sich dabei am Code etwas?
Bitte warten ..
Mitglied: Valume91
14.12.2009 um 09:51 Uhr
Hey abaaba

Ich hab jetzt mal was von einem alten Code genommen und diesen angepasst:

01.
Dim db As DAO.Database 
02.
Dim rs As DAO.Recordset 
03.
Dim strSQL 
04.
Set db = CurrentDb 
05.
 
06.
strSQL = "select * from [Ufrm_Mangelbeschreibung] where [QFall_IDFS]=" & Me.Qnummer 
07.
Set rs = db.OpenRecordset(strSQL)
Passt der Code soweit?
Wie kann ich jetzt den Inhalt dieser Abfrage in Excel exportieren? (in bestimmte Felder wie gewohnt)
Bitte warten ..
Mitglied: 83928
14.12.2009 um 10:05 Uhr
Hallo,
ich versuchs mal auf die Schnelle, da grade wenig Zeit.

Du hast Dir in Access VBA ja schon ein Recordset erstellt. Nun einfügen mit der "copyFromRecordset". Ist eine Methode vom (Excel)-Range Objekt. Kannst Du via Access über den Verweis "Microsoft Excel libary" zugänglich machen (s.o)


Dim xlAnw As Excel.Application
Dim xlBuch As Excel.Workbook
Dim xlArbBlatt As Excel.WorkSheet

Set xlAnw = CreateObject("Excel.Application")
Set xlBuch = xlAnw.Workbooks.Open("c:\dest.xls") 'Die Excel-Datei öffnen
Set xlArbBlatt = xlBuch.Worksheets(1) 'erstes Sheet

xlArbBlatt.Range("A1").CopyFromRecordset rs
Bitte warten ..
Mitglied: Valume91
14.12.2009 um 10:17 Uhr
abaaba mein Held!!
Funktioniert einwandfrei!

xlArbBlatt.Range("A1").CopyFromRecordset rs
War das was ich noch benötigte!

Nochmals vielen Dank!

Gruss Valume
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Microsoft Office
gelöst Aus Outlook 2013 Daten aus Tabellenfeldern in Excel übertragen (9)

Frage von ich2110 zum Thema Microsoft Office ...

VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

Batch & Shell
gelöst Mit Batchdatei Informationen auslesen und diese strukturiert in Excel ausgeben (9)

Frage von Flodsche zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...