我有一个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