vrijdag 28 augustus 2015

Excel: automatische database koppeling via VBA en Microsoft Query

Automatische database koppeling via VBA en Microsoft Query 

In Excel is een koppeling met een database via Microsoft Query handmatig te leggen. Het kan ook via VBA:

Sub toevoegenMQ()
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
    Dim strODBC As String, strBlad As String, strSQL As String
    strODBC = "noordenwind" 'Deze DSN moet wel bestaan, voor database Noordenwind
    strBlad = "klanten"
    
    'wissen data en verwijderen ms query
    Sheets(strBlad).Activate
    Sheets(strBlad).Range("a:k").QueryTable.Delete
    Sheets(strBlad).Range("a:k").ClearContents

    ActiveWorkbook.Save

    'strSQL bepalen
    strSQL = " SELECT * FROM klanten WHERE land = 'Duitsland'"
        
    With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=" & strODBC & ";", Destination:=Sheets(strBlad).Range("a1"))
        .CommandText = strSQL
        .Name = "qry" & strBlad
        .Refresh BackgroundQuery:=False
    End With
    
    ActiveWorkbook.Connections.Item("Verbinding").Name = strBlad
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Voor verder Excel tips klik hier.
Een reactie posten