» Willkommen auf Software «

OberstHorst
aus Taunusstein
offline



OC God
16 Jahre dabei !

Intel Core i7
2800 MHz


Hey,

ich habe mal eine ganz allgemeine Frage zur Datenbankverbindung in Excel auf Access.

Ich würde gerne Daten in Excel Verarbeiten/Aufbereiten... was auch immer und danach in eine Access DB laden. Das ganze soll über SQLs geschehen und nicht über irgendwelche Import-Features.

Soweit ich weiß, muss dazu zuerst eine Verbindung zur Datenbank hergestellt werden. Das habe ich jetzt erstmal wie folgt gemacht:

Code
Datei = "C:\tmp\Attribute.mdb"
ADOC.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Datei & ";"


Das macht er schonmal ohne zicken (obs funktioniert werde ich erst bei Abfragen merken ;) ).

Jetzt stellt sich die Frage, wie kann ich damit SQLs auf die Datenbank absetzen? Ich würde zum Beispiel gerne Wissen, ob ein bestimmter Wert (zB ID 4711) bereits in einer Tabelle steht. Wenn nicht, soll dieser Wert hinzugefügt werden.

Hoffe, hier hat sich schonmal jemand mit dem Kram beschäftigt. Leider finde ich nichts bei google ... vermutlich, weil ich nach dem falschen suche oder weils einfach so selbstverständlich ist. ;)

Vielen Dank!


<-- Killerspielespieler
Geh doch zum MediaMarkt und lass dich da beraten...

Beiträge gesamt: 6824 | Durchschnitt: 1 Postings pro Tag
Registrierung: Nov. 2007 | Dabei seit: 6003 Tagen | Erstellt: 12:01 am 4. Feb. 2011
ocinside
aus Krefeld
offline



Administrator
23 Jahre dabei !

Intel Core i9
3600 MHz @ 5200 MHz
78°C mit 1.552 Volt


Geh einfach in Excel über Daten -> Externe Daten importieren -> Daten importieren -> neue Abfrage erstellen -> Weitere -> z.B. Microsoft OLE DB ODBC -> bei Verbindung Access auswählen -> OK -> MDB Datenbank auswählen -> Tabelle oder zuvor erstellte Sicht aus Datenbank auswählen -> Fertigstellen -> evtl. noch überarbeiten.
Das kannst du auch direkt als Pivot Tabelle erstellen lassen, nach belieben überarbeiten und die Verbindungsparameter anpassen.
Du kannst natürlich auch direkt auf SQL umstellen und die SQL Anweisungen eintragen, je nachdem was du in Access aufbereitet hast und ob du Daten updaten möchtest.


Hardware News lesen * Unterhalten * Smarthome und Gadgets
Übertakten, Modding und Testberichte * Fanartikel kaufen

Beiträge gesamt: 169735 | Durchschnitt: 20 Postings pro Tag
Registrierung: April 2001 | Dabei seit: 8396 Tagen | Erstellt: 13:48 am 4. Feb. 2011
OberstHorst
aus Taunusstein
offline



OC God
16 Jahre dabei !

Intel Core i7
2800 MHz


Vielen Dank schonmal :ocinside:

Werd ich gleich mal ausprobieren :)


<-- Killerspielespieler
Geh doch zum MediaMarkt und lass dich da beraten...

Beiträge gesamt: 6824 | Durchschnitt: 1 Postings pro Tag
Registrierung: Nov. 2007 | Dabei seit: 6003 Tagen | Erstellt: 7:26 am 7. Feb. 2011
OberstHorst
aus Taunusstein
offline



OC God
16 Jahre dabei !

Intel Core i7
2800 MHz


Falls die Frage hier doch nochmal aufkommt, habs jetzt wie folgt gemacht:

Code
Sub DAOFromExcelToAccess()
' exports data from the active worksheet to a table in an Access database
' this procedure must be edited before use
Dim db As Database, rs As Recordset, r As Long
   Set db = OpenDatabase("C:\Users\blablubb\Documents\Datenbank1.mdb")
   ' open the database
   Set rs = db.OpenRecordset("Tabelle1", dbOpenDynaset)
   ' get all records in a table
   r = 1 ' the start row in the worksheet
   Do While Len(Range("A" & r).Formula) > 0
   ' repeat until first empty cell in column A
       With rs
           .AddNew ' create a new record
           ' add values to each field in the record
           .Fields("1") = Range("A" & r).Value
           .Fields("2") = Range("B" & r).Value
           .Fields("3") = Range("C" & r).Value
           ' add more fields if necessary...
           .Update ' stores the new record
       End With
       r = r + 1 ' next row
   Loop
   rs.Close
   Set rs = Nothing
   db.Close
   Set db = Nothing
End Sub


Habs irgendwo im Internet gefunden. Es wird eine Verbindung aufgebaut und ein Recordset zusammengebaut und nach Access geschoben. Das funktioniert eigentlich auch ganz gut.

Nur so zur Info....


<-- Killerspielespieler
Geh doch zum MediaMarkt und lass dich da beraten...

Beiträge gesamt: 6824 | Durchschnitt: 1 Postings pro Tag
Registrierung: Nov. 2007 | Dabei seit: 6003 Tagen | Erstellt: 12:21 am 23. März 2011