3.2k Aufrufe
Gefragt in Datenbanken von micico Mitglied (121 Punkte)
Hallo,

hatte das schon einmal gepostet aber leider ohne Erfolg. Mir hat mal ein netter Mensch hier im Supportnet eine VBA Datei geschrieben um Daten aus einer Access Datenbank in Excel zu importieren. Leider hat mein Softwarehersteller auf SQL umgestellt und ich habe KEINE Ahnung wie ich die Daten nun aus der SQL Datenbank in Excel importieren kann. Vielleicht kann mir jemand von Euch helfen.

Die VBA-Datei füge ich mal hier unten bei.....

Viele Grüße
Micico

Sub Datensätze_auslesen()
Dim ADOC As New ADODB.Connection
Dim DBS As New ADODB.Recordset
Dim Tabelle1 As Worksheet
Dim s As String
Dim Datei As String
Dim i As Long

Rem Den Pfad habe ich aus deinem zweiten Thread !
Datei = "c:\sykasoft\Artikel.mdb"
ADOC.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Datei & ";"
Set Tabelle1 = Sheets("Preisermittlung")
Rem Artikel ist der Tabellenname deiner Access-Artikel.mdb !
DBS.Open "Artikel", ADOC, adOpenKeyset, _
adLockOptimistic
On Error GoTo Fehler
For i = 6 To Tabelle1.Cells(Rows.Count, 3).End(xlUp).Row
If Tabelle1.Cells(i, 4).Value = "" Then
s = Tabelle1.Cells(i, 3).Value
Rem BestellNr ist der Spaltenname, in der die Bestellnummern gesucht werden sollen !
s = "BestellNr = '" & s & "'"
DBS.Find (s)
With Tabelle1
Rem DBS!RevKürzel ist eine der Spalten, welche in Excel in Spalte A eingelesen werden soll !
.Cells(i, 1).Value = DBS!RevKürzel
Rem DBS!RabattGr ist eine der Spalten, welche in Excel in Spalte B eingelesen werden soll !
.Cells(i, 2).Value = DBS!RabattGr
Rem DBS!Brutto ist eine weitere Spalte u. wird in Excel in Spalte D eingelesen !
.Cells(i, 4).Value = DBS!Brutto
Rem DBS!EKMulti ist eine weitere Spalte u. wird in Excel in Spalte E eingelesen !
.Cells(i, 5).Value = DBS!EKMulti
Rem DBS!Netto ist eine weitere Spalte u. wird in Excel in Spalte F eingelesen !
.Cells(i, 6).Value = DBS!Netto
Rem DBS!Text1 ist eine weitere Spalte u. wird in Excel in Spalte K eingelesen !
.Cells(i, 11).Value = DBS!Text1
Rem DBS!Text2 ist eine weitere Spalte u. wird in Excel in Spalte L eingelesen !
.Cells(i, 12).Value = DBS!Text2
End With
End If
Next i
DBS.Close
ADOC.Close
Exit Sub

Fehler:
Tabelle1.Cells(i, 1).Value = "nicht gefunden !"
Tabelle1.Cells(i, 2).Value = "nicht gefunden !"
Tabelle1.Cells(i, 4).Value = "nicht gefunden !"
Tabelle1.Cells(i, 5).Value = "nicht gefunden !"
Tabelle1.Cells(i, 6).Value = "nicht gefunden !"
Tabelle1.Cells(i, 11).Value = "nicht gefunden !"
Tabelle1.Cells(i, 12).Value = "nicht gefunden !"


DBS.Close
ADOC.Close
Call Datensätze_auslesen
End Sub

1 Antwort

0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Micico,

Wenn es nur darum geht, Daten von einer SQL-Datenbank in Excel zu importieren könnte ich mir folgende Möglichkeit vorstellen:

>Excel
>Daten
>Externe Dateien importieren
>Datenquelle auswählen
>Neue Quelle....
>Datenverbindungsassistent
>Microsoft SQL Server markieren
>weiter
>Servername eingeben
>allfälligen Benutzernamen und Kennwort eingeben
>weiter folge dem Assistenten

Selber kann ich es leider nicht testen, da mir zur Zeit kein Server zur Verfügung steht.

Als Anhaltspunkt vielleicht noch folgender Link:

Link


Gruß

Paul1


[sub]Excel > Access > MS-Office 2003
MS Windows XP Professional SP3
ECDL-Syllabus Version 4.0[/sub]
...