Thema Datum  Von Nutzer Rating
Antwort
Rot Anfrage an SQL-Server per VBA-Code und Speichern der Rückgabe in ein Verzeichnis
18.03.2017 14:45:37 Dominik
NotSolved
19.03.2017 12:56:50 BigBen
NotSolved
29.03.2017 16:34:48 Dominik
NotSolved
29.03.2017 17:06:43 BigBen
NotSolved
30.03.2017 19:09:24 Dominik
NotSolved
30.03.2017 20:09:44 BigBen
NotSolved
31.03.2017 09:38:57 Dominik
NotSolved
01.04.2017 15:25:58 BigBen
NotSolved
03.04.2017 13:56:54 Dominik
NotSolved
03.04.2017 16:18:05 BigBen
NotSolved
04.04.2017 18:32:52 Gast3322
NotSolved
05.04.2017 21:24:41 Dominik
NotSolved
07.04.2017 15:41:11 BigBen
NotSolved
08.04.2017 12:51:19 Dominik
NotSolved
08.04.2017 19:04:05 BigBen
*****
Solved
10.04.2017 21:03:04 Dominik
NotSolved
03.04.2017 13:56:54 Dominik
NotSolved

Ansicht des Beitrags:
Von:
Dominik
Datum:
18.03.2017 14:45:37
Views:
2258
Rating: Antwort:
  Ja
Thema:
Anfrage an SQL-Server per VBA-Code und Speichern der Rückgabe in ein Verzeichnis

Hallo,

ich bin noch recht unerfahren in der Programmierung mit VBA. Momentan habe ich ein kleines Projekt bei dem es darum geht Bilddateien (svg-Dateien) von einem SQL-Server zu laden und in einem Verzeichnis auf meinem PC (Lokal) zu speichern.

Die Dateien sehen in etwa so aus 10XXXDE_DE es gibt also eine 5 Stellige Nummer gefolgt von zwei Länderkürzeln die für die Sprache der Bilder stehen (Text ist somit beides mal auf Deutsch "DE")

 

Dazu Wählt der Bediener zuerst per Excel-Filterung einige Themen aus und hat dann nur noch die Nummern der Bilder die zu seiner Auswahl treffen. Außerdem muss der Bediener noch eingeben welche beiden Sprachen er haben möchte.

 

Per Knopfdruck sollen die ausgewählten Bilder dann im festgelegten Verzeichnis abgespeichert werden.

 

Ich habe im Internet breits gefunden, was mit eigentlich die Abfrage zum SQL-Server erledigen sollte.

Sub ADOExcelSQLServer()
     ' Carl SQL Server Connection
     '
     ' FOR THIS CODE TO WORK
     ' In VBE you need to go Tools References and check Microsoft Active X Data Objects 2.x library
     '
     
    Dim Cn As ADODB.Connection
    Dim Server_Name As String
    Dim Database_Name As String
    Dim User_ID As String
    Dim Password As String
    Dim SQLStr As String
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
     
    Server_Name = "EXCEL-PC\EXCELDEVELOPER" ' Enter your server name here
    Database_Name = "AdventureWorksLT2012" ' Enter your database name here
    User_ID = "" ' enter your user ID here
    Password = "" ' Enter your password here
    SQLStr = "SELECT * FROM [SalesLT].[Customer]" ' Enter your SQL here
     
    Set Cn = New ADODB.Connection
    Cn.Open "Driver={SQL Server};Server=" & Server_Name & ";Database=" & Database_Name & _
    ";Uid=" & User_ID & ";Pwd=" & Password & ";"
     
    rs.Open SQLStr, Cn, adOpenStatic
     ' Dump to spreadsheet
    With Worksheets("sheet1").Range("a1:z500") ' Enter your sheet name and range here
        .ClearContents
        .CopyFromRecordset rs
    End With
     '            Tidy up
    rs.Close
    Set rs = Nothing
    Cn.Close
    Set Cn = Nothing
End Sub

 

Mir ist aber nicht klar was ich bei

"SQLStr = "SELECT * FROM [SalesLT].[Customer]" ' Enter your SQL here" eintragen muss vorallem bei [SalesLT] und [Customer]

Außerdem weiß ich nicht wie ich den Rückgabewert (die Bild-Datei) in ein Verzeichnis speichere.
Wenn ich das richtig verstehe wird hier der Rückgabewert in irgendwelche Zellen bzw. Bereiche der Excel-Mappe geschrieben.

Es wäre echt cool wenn mir jemand weiterhelfen könnte, da ich mit meinen Programmierkenntnissen hier an Grenzen stoße.

Gruß

Dominik

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Anfrage an SQL-Server per VBA-Code und Speichern der Rückgabe in ein Verzeichnis
18.03.2017 14:45:37 Dominik
NotSolved
19.03.2017 12:56:50 BigBen
NotSolved
29.03.2017 16:34:48 Dominik
NotSolved
29.03.2017 17:06:43 BigBen
NotSolved
30.03.2017 19:09:24 Dominik
NotSolved
30.03.2017 20:09:44 BigBen
NotSolved
31.03.2017 09:38:57 Dominik
NotSolved
01.04.2017 15:25:58 BigBen
NotSolved
03.04.2017 13:56:54 Dominik
NotSolved
03.04.2017 16:18:05 BigBen
NotSolved
04.04.2017 18:32:52 Gast3322
NotSolved
05.04.2017 21:24:41 Dominik
NotSolved
07.04.2017 15:41:11 BigBen
NotSolved
08.04.2017 12:51:19 Dominik
NotSolved
08.04.2017 19:04:05 BigBen
*****
Solved
10.04.2017 21:03:04 Dominik
NotSolved
03.04.2017 13:56:54 Dominik
NotSolved