• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Aanmaken dataconnectie vanuit vba

Status
Niet open voor verdere reacties.

linkav

Gebruiker
Lid geworden
13 jun 2007
Berichten
465
Beste forumleden,

Ik heb volgende code en dan krijg ik geen foutmelding:

Code:
    On Error Resume Next
    'Delete van de connectie indien aanwezig
    ActiveWorkbook.Connections("RM Marketing Selection Tool Model").Delete
    
    'Terug aanmaken van de connectie
    On Error GoTo err_subMakeNewSelection
    

    Select Case cnnBITab_PerSpec
        Case "Model"
            Workbooks(gblWorkbookName).Connections.Add2 _
                "RM Marketing Selection Tool Model", "", Array( _
                "OLEDB;Provider=MSOLAP.5;Password=" & cnnBITab_PssWrd & ";Persist Security Info=True;User ID=" & cnnBITab_User & ";Data Source=" & cnnBITab_Srvr & ";Update Isolat" _
                , "ion Level=2;Initial Catalog=RM Marketing Selection Tool"), "Model", 1
        Case "Basic"
            Workbooks(gblWorkbookName).Connections.Add2 _
                "RM Marketing Selection Tool Model", "", Array( _
                "OLEDB;Provider=MSOLAP.5;Password=" & cnnBITab_PssWrd & ";Persist Security Info=True;User ID=" & cnnBITab_User & ";Data Source=" & cnnBITab_Srvr & ";Update Isolat" _
                , "ion Level=2;Initial Catalog=RM Marketing Selection Tool"), "Basic", 1
        Case Else
            MsgBox "De code moet aangepast worden naar een nieuw perspective"
            Exit Sub
    End Select
    
    'Maak Pivot table
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _
        ActiveWorkbook.Connections( _
        "RM Marketing Selection Tool Model"), Version:=6). _
        CreatePivotTable Tabledestination:=Par_NewSel_Name & "!R2C2", TableName:=Par_NewSel_PivotName _
        , DefaultVersion:=6
    Rows("1:1").Select
    Selection.Delete Shift:=xlUp
    Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
    Cells(1, 1).Select

Omdat de 'catalog' afhankelijk is van de gebruiker heb ik een select case... ingebouwd. Je moet dan wel van tevoren alle mogelijkheden kennen.
Ik wou het flexibel maken doonderstaande

Code:
    On Error Resume Next
    'Delete van de connectie indien aanwezig
    ActiveWorkbook.Connections("RM Marketing Selection Tool Model").Delete
    
    'Terug aanmaken van de connectie
    On Error GoTo err_subMakeNewSelection
    
    
    Workbooks(gblWorkbookName).Connections.Add2 _
        "RM Marketing Selection Tool Model", "", Array( _
        "OLEDB;Provider=MSOLAP.5;Password=" & cnnBITab_PssWrd & ";Persist Security Info=True;User ID=" & cnnBITab_User & ";Data Source=" & cnnBITab_Srvr & ";Update Isolat" _
        , "ion Level=2;Initial Catalog=RM Marketing Selection Tool"), """ & trim([U][B][COLOR="#FF0000"]cnnBITab_PerSpec[/COLOR][/B][/U]) & """, 1


    'Maak Pivot table
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _
        ActiveWorkbook.Connections( _
        "RM Marketing Selection Tool Model"), Version:=6). _
        CreatePivotTable Tabledestination:=Par_NewSel_Name & "!R2C2", TableName:=Par_NewSel_PivotName _
        , DefaultVersion:=6
    Rows("1:1").Select
    Selection.Delete Shift:=xlUp
    Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
    Cells(1, 1).Select

Bij deze laatste code krijg ik een foutmelding zie afbeelding

Hoe kan ik dit oplossen?
 

Bijlagen

  • Knipsel.JPG
    Knipsel.JPG
    28,7 KB · Weergaven: 47
Volgens de melding horen die quotes er niet.

Wijzig dus dit:
, """ & trim(cnnBITab_PerSpec) & """, 1

in dit:
,trim(cnnBITab_PerSpec), 1

cnnBITab_PerSpec is tenslotte al een string.
 
Edmoor,

Bedankt voor je reactie en inderdaad de quotes hoeven er niet te staan!!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan