2016-03-24 9 views
0

ユーザーがクリックすると、ThisWorkbookDataModelからDAXクエリを受け取ったテーブルが作成されます。コードは、マクロレコーダーで記録され、このようになりました。ListObject(テーブル)をフィードするOLEDBConnectionの名前を取得するにはどうすればいいですか?

Range("A9").Select 

With ActiveSheet.ListObjects.Add(SourceType:=4, Source:=ActiveWorkbook. _ 
    Connections("Query - Unit___Student_unit_enrolment_d"), Destination:=Range(_ 
    "$A$9")).TableObject 
    .ListObject.DisplayName = "DAXdetails" 
End With 


Range("DAXdetails[[#All]]").Select 

With Selection.ListObject.TableObject.WorkbookConnection.OLEDBConnection 
    .CommandText = Array(_ 
    "EVALUATE" & Chr(13) & "" & Chr(10) & "CALCULATETABLE(" & Chr(13) & "" & Chr(10) & " Unit___Student_unit_enrolment_d" & Chr(13) & "" & Chr(10) & " ) ") 
    .CommandType = xlCmdDAX 
End With 
ActiveWorkbook.Connections("ModelConnection_ExternalData_1").Refresh 

このオンザフライ創造の問題は、私は他のテーブルを持っている場合は、すでにこれよりも表形式DAXクエリでThisWorkbookDataModelから供給されるということです行

ActiveWorkbook.Connections("ModelConnection_ExternalData_1").Refresh 

他の表を更新します。

誰でも提案できますが、このテーブルの接続名をどのように取得できますか?私はその場で作成しています。正しくリフレッシュするには?

しかし
ActiveWorkbook.Connections(3).Refresh 

、誰でもDAX表形式照会表をフィード接続の名前を取得する方法のアイデアを持っている場合:私は、インデックスすることにより、その接続に対処する方法を発見したいくつかの手動試験および実験による

答えて

0

それは多大な助けになるでしょう。

ありがとうございました!

関連する問題