Экспорт отфильтрованных строк из таблицы доступа в Excel

Я использую код VBA ниже, чтобы экспортировать только видимые столбцы в таблице доступа в Excel. Прекрасно работает, но я также хочу экспортировать только отфильтрованные строки, основываясь на том, что пользователь отфильтровал для каждого столбца. Я мог бы использовать некоторую помощь, выясняя, как это сделать. Любая помощь приветствуется, lq

 Public Function ExportToExcel()
 On Error GoTo myErr

     Dim strDestFolder As String
     Dim strSQL As String
     Dim qdf As dao.QueryDef
     Dim ctl As Control
     Dim strRandomString As String

     strDestFolder = "MyDestinationPath"
     strRandomString = "AQueryDefName"

     For Each ctl In Me.Child.Form.Controls

         If Not ctl.ColumnHidden Then
             If Len(strSQL) = 0 Then
                 strSQL = "SELECT " & ctl.ControlSource & ", "
             Else
                 strSQL = strSQL & ctl.ControlSource & ", "
             End If
         End If

     Next ctl

     If Len(strSQL) > 0 Then
         strSQL = Left(strSQL, Len(strSQL) - 2)
         strSQL = strSQL & " FROM tblMyTableName WHERE Something = '" & Me.Something & "'"
     End If

     Set qdf = CurrentDb.CreateQueryDef(strRandomString, strSQL)

     DoCmd.OutputTo acOutputQuery, strRandomString, "MicrosoftExcel (*.xls)", strDestFolder & ".xls", True

 myExit:
     CurrentDb.QueryDefs.Delete strRandomString
     Exit Function
 myErr:
     MsgBox Err.Number & " - " & Err.Description, vbCritical, "VBA Error"
     Resume myExit
 End Function

1 ответ

Свойство filter подчиненной формы должно возвращать строку, подходящую для использования в операторе where. Например:

([My subform].[ID] Not In (1,2,4,6))

Возвращается, когда я выбираю выпадающий список и выбираю несколько номеров. Также:

([My subform].[ID] In (719,720))
Другие вопросы по тегам