Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SQL Abfrage

SQL Abfrage
17.10.2006 15:19:31
Marius
Hallo zusammen,
bin ein völliger VBA neuling und soll ein script schreiben, was auf Knopfdruck den Inhalt einer SQL-Tabelle von einem externen Server holt und in einer Tabelle ausgibt. Ich bin auch schon soweit gekommen, dass ich den Knopf erstellt habe. Nur jetzt hapert es an der Funktion um die Daten vom MS SQL-Server zu holen. Mein Ansatz sieht so aus:

Sub LetsNochmaImport()
Dim adoCnn As New ADODB.Connection
Dim adoRst As New ADODB.Recordset
adoCnn.ConnectionString = "provider=MSDASQL;" & _
"driver={SQL Server};" & _
"server=testserver;" & _
"database=Testdb"
adoCnn.Open
adoRst.Open "SELECT * FROM testtabelle", _
adoCnn, adOpenForwardOnly
RS2WS adoRst
adoRst.Close
adoCnn.Close
Set adoRst = Nothing
Set adoCnn = Nothing
End Sub

Könnt ihr mir vielleicht helfen das zu realisieren? Also, connecten -> auslesen -> und in die geöffnete Tabelle schreiben!
Vielen, vielen Dank
Marius

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SQL Abfrage
17.10.2006 15:44:54
EtoPHG
Hallo Marius,
Ich kann Dir folgendes (einfacheres) Vorgehen empfehlen:
Über Daten - Externe Daten - Neue Abfrage die Abfrage mit Deinem SQL erstellen.
Anschliessend Rechtsklick auf den Datenbereicht und Datenbereich Eigenschaften Namen z.B. "MeinQuery"
Jetzt der Code für den Button:

Private Sub CommandButton1_Click()
ActiveSheet.QueryTables("MeinQuery").Refresh
End Sub

Gruss Hansueli
AW: SQL Abfrage
17.10.2006 15:57:41
ede
hallo,
versuchs mal so in dieser Form! Kann es leider selber nicht testen.

Sub test()
connstring "provider=MSDASQL;" & _
"driver={SQL Server};" & _
"server=testserver;" & _
"database=Testdb"
sql_statement ="SELECT * FROM testtabelle"
With Sheets("Tabelle1").QueryTables.Add(Connection:=connstring, Destination:=Worksheets("Abfrage").Range("A1"))
.BackgroundQuery = False
.Sql = sql_statement
.Refresh
.Delete
End With
End Sub

gruss
Anzeige
AW: SQL Abfrage
17.10.2006 16:08:53
Marius
Hallo,
Danke für deine Antwort..
Leider funktioniert es nicht, er macht schon in der ersten Zeile einen Fehler...
Auch Danke ich für die erste Antwort... Mir stellt sich nur die Frage wo ich den Query definieren muss, bzw er liegen muss mit welcher dateiendung?
Gruß und Danke, Marius
AW: SQL Abfrage
17.10.2006 16:11:54
EtoPHG
Hallo Marius,
Mir stellt sich nur die Frage wo ich den Query definieren muss, bzw er liegen muss mit welcher dateiendung?
Auf einem Tabellenblatt in einer EXCEL-Arbeitsmappe.
Mit der Menufunktion - Daten - Externe Daten ... wird automatisch die Querytable im aktiven Tabellenblatt erzeugt. Und der Button, sowie der Code gehört dann auch aufs Blatt.
Gruss Hansueli
Anzeige
AW: SQL Abfrage
17.10.2006 16:12:55
ede
hallo nochmal,
da hat er auch recht.

Sub test()
connstring = "provider=MSDASQL;" & _
"driver={SQL Server};" & _
"server=testserver;" & _
"database=Testdb"
sql_statement ="SELECT * FROM testtabelle"
With Sheets("Tabelle1").QueryTables.Add(Connection:=connstring, Destination:=Worksheets("Tabelle1").Range("A1"))
.BackgroundQuery = False
.Sql = sql_statement
.Refresh
.Delete
End With
End Sub

gruss
AW: SQL Abfrage
17.10.2006 16:19:56
Marius
Danke für deine Antwort!
ich zweifel langsam selber an mir... Einmal von vorne: Excel öffnen - Alt F11 drücken - neues Modul machen - den Quellcode da rein - auf play klicken
Er zeigt mir schon wieder einen Fehler:
Laufzwitfehler 1004
Anwendungs- oder Objektdefinierter Fehler
Der Fehler erscheint in der längsten Zeile des Codes. Vielleciht weiss einer eine Lösung, oder ich mache wirklich was Flasch!
Danke und Gruß, Marius
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige