如何将MS Access筛选表保存为VBA中的查询

时间:2011-05-11 14:23:16

标签: vba ms-access access-vba ms-office

我需要能够将Microsoft Access(2010)中的筛选表的结果保存为查询。 Access中的报表仅在基于查询的情况下才是动态的。如果我将报告基于表本身,则不会保存任何搜索条件/过滤结果。在Access宏构建器中,DoCmd.save只保存当前表,我需要能够在VBA中执行“另存为”,这样我就可以将过滤后的表保存为查询。

由于

1 个答案:

答案 0 :(得分:1)

您需要根据表单的Filter和OrderBy设置构建SQL语句。

Dim sSQL As String

sSQL = "Select ... From MyTable"

If Len(Me.Filter) > 0 Then
    sSQL = sSQL & " Where " & Me.Filter
End If

If Len(Me.OrderBy) > 0 Then
    sSQL = sSQL & " Order By " & Me.OrderBy
End If

Call DBEngine.Workspaces(0).Databases(0).CreateQueryDef("MyQueryName", sSQL)
相关问题