1

レポート目的で接続されているMS access 2010データベースがあります。ExcelのオプションをMS Excel 2010使用して、ExcelをAccessにリンクしました。Get External Dataレポート要件にほとんど変更がなかったため、new queryAccess で を作成する必要がありました (いくつかの がありますcustom function)。Custom Function is a VBA module in Access。_

残念ながらGet External Data、Excel で を使用して新しいアクセス クエリをリンクすると、新しいクエリ (ビュー) がテーブル/ビュー (インポート ウィザード) のリストに表示されません。Custom Functionクエリを削除すると、ウィザードに表示されます。

行を連結するカスタム関数 (別のサイトから取得)

Public Function ConcatADO(strSQL As String, strColDelim, _
   strRowDelim, ParamArray NameList() As Variant)

   Dim rs As New ADODB.Recordset
   Dim strList As String

   On Error GoTo Proc_Err

       If strSQL <> "" Then
           rs.Open strSQL, CurrentProject.Connection
           strList = rs.GetString(, , strColDelim, strRowDelim)
           strList = Mid(strList, 1, Len(strList) - Len(strRowDelim))
       Else
           strList = Join(NameList, strColDelim)
       End If

       ConcatADO = strList

   Exit Function

Proc_Err:
       ConcatADO = "***" & UCase(Err.Description)
End Function

以下は、新しいクエリで使用される JET SQL です (これは Access 内で完全に正常に動作します)。

SELECT DISTINCT 
D.[Ref ID], 
D.[ENTRYDATE], 
D.[AUDITOR LID], 
D.[Process], 
D.[Auditee], 
D.[Auditee Name], 
D.[Account No], 
D.[Auditee Manager], 
D.[MaxScore], 
D.[Score], 
D.[Result], 
ConcatADO("SELECT [COMMENTS]  FROM ycube WHERE [Ref ID]="  & "'" & [d].[Ref ID] & "'" ,", "," : ") AS [Master Comment]
FROM ycube AS D;
  • カスタム関数を使用する際の Excel の制限でしょうか。
  • 上記の Access クエリを Excel にインポートする方法はありますか (むしろリンク)
4

0 に答える 0