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