1

我有一个MS access 2010连接到MS Excel 2010用于报告目的的数据库。Get External Data我已使用excel 中的选项将 Excel 链接到 Access 。由于报告要求几乎没有变化,我不得不new query在 Access 中创建一个(并且它有一些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