Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten aus access in Excel importieren

Daten aus access in Excel importieren
15.03.2009 16:25:35
Mardoc
hallo zusammen
ich habe ein mittelschweres problem und hoffe das mir wer weiter helfen kann
bei uns auf dem server liegt ein access datenbank mit den "spalten" Datum, Start, End
da der gesammte datensatz viel zu umfangreich ist
möchte ich nur die zeilen eines bestimmten monats in eine Excel tabelle übertragen
Problem 1:
Das datum wird mir immer mit urhzeit in die tabelle eingetragen (nein in der Datenbank steht nur das datum keine zeiten) wie kann ich das verhindern?
Problem 2:
wie kann ich nur *zeilen* z.b. vom monat mai auslesen? die daten stehen im format dd.mm.yyyy in der acces datenbank.
hoffe es kann mir wer helfen
gruß Christian

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus access in Excel importieren
15.03.2009 17:53:41
Tino
Hallo,
Datenbank Programmierung ist nicht ganz so einfach,
muss man sich schon mal etwas damit beschäftigen.
Habe Dir mal ein wirklich einfachen Beispiel aufgebaut mit DAO.
Es wird der Verweis auf Microsoft DAO 3.6 Object Library benötigt
Der Beispielcode befindet sich im Modul1
https://www.herber.de/bbs/user/60333.zip
Gruß Tino
AW: Daten aus access in Excel importieren
15.03.2009 18:28:49
Mardoc
ah du machst das über die DAO schnittstelle ok ich habs einfach über odbc versucht da ich dachte man könne die select anweisung gauso wie in java berabeiten... leider klappe das alles nicht so wie ich wollte
ich sag mal herzlichen dank für deine hilfe :-)
Anzeige
AW: Daten aus access in Excel importieren
15.03.2009 18:37:11
Tino
Hallo,
ich mache dies in Access oft über diese Abfragen,
weil diese mir viel Vorarbeit abnehmen können.
Beispiel Sortieren oder Vorfilter, je nach Anwendungsfall.
Für dieses Beispiel wäre dies nicht unbedingt nötig gewesen,
man könnte auch direkt auf die Tabelle zugreifen.
z. Bsp. so
Sub TestBeispiel()
Dim meDB As Database, DBTab As Recordset
Dim vonDatum As Long, bisDatum As Long
Dim sPath As String
Dim A As Long

vonDatum = CDate("02.05.2009") 'von Datum 
bisDatum = CDate("03.5.2009") 'bis Datum 
A = 2 'erste Zelle 

'Zellen leer machen 
Range("A2", Cells(Cells.SpecialCells(xlCellTypeLastCell).Row, 2)).ClearContents
sPath = IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")

'öffne Datenbank 
Set meDB = OpenDatabase(sPath & "DB.mdb")
'öffne Recordset 
Set DBTab = meDB.OpenRecordset("SELECT * FROM Tabelle1")
'Filter Recordset 
DBTab.Filter = "Tabelle1.Datum >= " & vonDatum & " And Tabelle1.Datum <= " & bisDatum & ""
Set DBTab = DBTab.OpenRecordset

'Alle Daten lesen 
With DBTab
  Do While Not .EOF
   Cells(A, 1) = CDate(!Datum)
   Cells(A, 2) = CVar(!Wert)
   A = A + 1
  .MoveNext
  Loop
End With
DBTab.Close

Set DBTab = Nothing: Set meDB = Nothing
End Sub


Gruß Tino

Anzeige
AW: Daten aus access in Excel importieren
16.03.2009 09:41:35
Mardoc
hab mir deine dateien mal runter geladen und angesehen
naja meine idee hätte auch geklappt wenn exel in der lage wär die tabellen der datenbank vernüftig vorzuselectieren... leider zu spät gemerkt das das nicht geht^^
hier und da ein wenig umgeschrieben und es tut das was es soll
lieben dank
AW: Daten aus access in Excel importieren
15.03.2009 17:55:27
Mardoc
hab noch was hinzufügen
der makro rekorder hat mir das teil ausgespuckt... leider habe nicht viel ahnung von access bzw davon datenbanken via script anzusprechen

With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=Microsoft Access-Datenbank;DBQ=C:\testdb\test.mdb;DefaultDir=C:" _
), Array( _
"\testdb\;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
)), Destination:=Range("E20"))
.CommandText = Array( _
"SELECT test.Datum, dSpace.Beschreibung" & Chr(13) & "" & Chr(10) & "FROM test test" &  _
Chr(13) & "" & Chr(10) & "WHERE (test.Datum like '%01%')" & Chr(13) & "" & Chr(10) & "ORDER BY test.Datum" _
)
.Name = "Abfrage von Microsoft Access-Datenbank_39"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub


ich habe versucht die select anweisung zu verändern nur bekomme ich es einfach nicht hin
Gruß Christian

Anzeige
AW: Daten aus access in Excel importieren
15.03.2009 21:53:03
Luschi
Hallo Mardoc,
diese Zugriffs-Art auf Access-Datenbanken ist sehr netzwerklastig, da Access die Where-Klausel nicht auswertet, sondern alle Datensätze zurückschickt , und erst der Client (also Excel das Filtern übernimmt).
Eine Abfrage entgegennehmen und nur die ermittelten Datensätze zurückschicken, sowas können nur die SQL-Server-Programme.
Tinos Lösung sieht dagegen ganz vernünftig aus, muß aber noch mal testen, ob hier wirklich nur die gewünschten Ergebnisse Excel erreichen.
Ich mach es da wie folgt:
- in einem Formular die Wunschdatensätze (Bedingungen) abfragen
- daraus den SQL-Text für die Abfrage zusammenstoppeln
- per ADOX in einer Access-DB-Abfrage diesen SQL-Text schreiben
- per ADODB diese manupulierte Abfrage starten und die Ergebnisse in die Exceltabelle schreiben.
Zu dieser Methodik bin ich gekommen, als bei einem Kunden mit einem langsamen Netzwerk der von Dir aufgezeichnete Programm-Code einfach viel zu lange dauerte und der Anwender viele Abfragen dieser Art am Tag starten wollte.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Daten aus access in Excel importieren
16.03.2009 09:45:31
Mardoc
hallo Luschi
hab mir die sachen von timo angesehen und ein wenig umgeschrieben
nun klappts das genauso wie ich das haben will wie das mit der netzwerk geschwindigkeit aussieht muß ich nachher mal gucken danke aber das das keine probleme geben sollte
trotzdem herzlichen dank für deine hilfe
Gruß Christian
Tino nicht timo, soviel Zeit sollte sein. ;-) oT.
16.03.2009 16:33:47
Tino
AW: Tino nicht timo, soviel Zeit sollte sein. ;-) oT.
16.03.2009 17:15:19
Mardoc
mea culpa
das auch das n und m so nah zusammenliegen ;-)

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige