Thema Datum  Von Nutzer Rating
Antwort
Rot Query Abfrage in Excel Makro einbauen
14.03.2011 22:44:25 Verdasco
NotSolved

Ansicht des Beitrags:
Von:
Verdasco
Datum:
14.03.2011 22:44:25
Views:
1624
Rating: Antwort:
  Ja
Thema:
Query Abfrage in Excel Makro einbauen

 

Hallo
 
 
Ich würde gerne Daten aus einer Datenbank (ISHTTND) auslesen. Diese Datenbank habe ich mit Microsoft Query geöffnet und die richtigen Daten ausgewählt.
Der Teil zwischen # ist der Code, den mir Query generiert um die richtigen Datenpunkte mit den Werten auszugeben.
 
Irgendwie schaffe ich es nicht ihn richtig einzubauen, damit er die Daten in stSQL schreibt.
 
Ich hoffe ihr könnt mir weiterhelfen... 
 
Danke
 
Hier mal der VBA Code
[code]
Sub Populate_Combobox_Recordset()
    Dim rst As ADODB.Recordset
    Dim stSQL As String
 
    Dim vaData As Variant
    Dim k As Long
    
    Verbindung.storeExcelSettigs
    
     'SQL Verbindung Initialisieren
    fncConnectToSQL ("DIV23!PRJ=Uni_Wzbg!DB=ISHTTND")
         
     'Create the SQL-statement.
 
 
 
# 'SQL-Code aus Query um nur die Daten aus TrendLogID 257 auszulesen
stSQL = "SELECT TrendRecord.TrendRecordId, TrendRecord.Value, TrendRecord.TrendLogId, TrendRecord.DateTimeStamp, TrendRecord.ValueType"
"FROM "DIV23!PRJ=Uni_Wzbg!DB=ISHTTND".dbo.Channel Channel, "DIV23!PRJ=Uni_Wzbg!DB=ISHTTND".dbo.Designation Designation, "DIV23!PRJ=Uni_Wzbg!DB=ISHTTND".dbo.TrendRecord TrendRecord
'WHERE (TrendRecord.TrendLogId = 257)
#
     'Verbindung öffen
    cnt.Open
    
     'Recordsetobject Instazieren und SQLAbfrage ausführen
    Set rst = cnt.Execute(stSQL)
     
    With rst
        Set .ActiveConnection = Nothing 'Disconnect the recordset.
        k = .Fields.Count
         'Populate the array with the whole recordset.
        vaData = .GetRows
    End With
     
     'Verbindung schließen
    cnt.Close
     
     'Manipulate the Combobox's properties and show the form.
    With frmData
        With .ListBox1
            .Clear
            .BoundColumn = k
            .List = Application.Transpose(vaData)
            .ListIndex = -1
            .ColumnCount = 1 'this makes appear the two columns on the combobox
            .BoundColumn = 2
        End With
        .Show vbModeless
    End With
    
    frmData.ComboBox1.Value = k
     
    Verbindung.restoreExcelSettigs
     
     'Objekte aus dem Speicher löschen
    Set rst = Nothing
    Set cnt = Nothing
End Sub
 
Public Function fncConnectToSQL(stSqlCatalog As String)
 
      'Connectionobject instanzieren
    Set cnt = New ADODB.Connection
    
    With cnt
        .Provider = "sqloledb"
        .Properties("Data Source").Value = "localhost\DESIGO"
        .Properties("Initial Catalog").Value = "DIV23!PRJ=Uni_Wzbg!DB=ISHTTND"
        .Properties("Integrated Security").Value = "SSPI"
        .CursorLocation = adUseClient 'Necesary for creating disconnected recordset.
    End With
End Function
 
Public Sub storeExcelSettigs()
     'Geschwindigkeitsoptimierung
    With Application
        xlCalc = .Calculation
        .Calculation = xlCalculationManual
        .EnableEvents = False
        .ScreenUpdating = False
    End With
End Sub
[/code]

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 Query Abfrage in Excel Makro einbauen
14.03.2011 22:44:25 Verdasco
NotSolved