Как сохранить отфильтрованную таблицу MS Access как запрос в VBA - PullRequest
0 голосов
/ 11 мая 2011

Мне нужно иметь возможность сохранять результаты отфильтрованной таблицы в Microsoft Access (2010) как запрос.Отчеты в Access являются динамическими, только если они основаны на запросе.Если бы я основывал отчеты на самой таблице, он не сохранил бы ни одного условия поиска / результатов фильтра.В конструкторе макросов Access DoCmd.save сохраняет только текущую таблицу, мне нужно иметь возможность «сохранить как» в VBA, чтобы я мог сохранить отфильтрованную таблицу как запрос.

Спасибо

1 Ответ

1 голос
/ 11 мая 2011

Вам нужно будет создать оператор SQL на основе настроек Filter и OrderBy формы.

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)
...