|
|
|
| Всем привет!
Пожалуйста, подскажите как выйти из такой ситуации.
В ленточной форме отображаются данные таблицы. В примечании формы есть наборы полей со списком и кнопки. При нажатии кнопки FILTER включаются выбранный фильтры, и соответственно изменяется набор записей. Вот часть кода:
Private Sub FILTER_Click()
On Error GoTo Err_FILTER_Click
Dim strf As String
strf = ""
flag = False
' Фильтр «Район» по полю со списком
If Me![pspRegion] <> "ВСЕ РАЙОНЫ" Then
strf = strf & " ID_RAJ = " & (Me![pspRegion].Column(0))
flag = True
End If
' Фильтр «Улица» по полю со списком
If Me![pspStreet] <> "ВСЕ УЛИЦЫ" Then
If flag = True Then
strf = strf & " AND ID_St = " & (Me![pspStreet].Column(0))
Else
strf = "ID_St = " & (Me![pspStreet].Column(0))
flag = True
End If
End If
‘ и еще 7 фильтров
' конец выбора
If flag Then
Me![nFILTR].Visible = True
Else
Me![nFILTR].Visible = False
End If
Me.FILTER = strf
Me.FilterOn = True
Exit_FILTER_Click:
Exit Sub
Err_FILTER_Click:
MsgBox Err.Description
Resume Exit_FILTER_Click
End Sub
|
Затем пытаюсь передать набор записей в запрос, передать его в книгу Excel и открыть ее:
Private Sub excelRun_Click()
Dim sqlList As String
sqlList = Me.RecordSource
CurrentDb.QueryDefs("exHouse").sql = sqlList
DoCmd.OutputTo acOutputQuery, "exHouse", acFormatXLS, "exHouse.xls", True
End Sub
|
Однако передается весь набор записей, то есть не учитываются фильтры.
Как сформировать sql-запрос sqlList с учетом фильтров и передать его в запрос exHouse и сохранить его (он существует в качестве пустышки).
Спасибо. | |
|
| |
|
|
|
| filter живет отдельно от recordsource
если данные в форме прописаны в виде строки SQL (без слова Where)
то можно попробывать так
sqlList = Me.RecordSource & " Where " & me.filter & ";" | |
|
| |
|
|
|
| Where присутствует. Но мысль ясна. Выкручусь. Спасибо за совет. | |
|
| |
|
|
|
| Можно сделать так
один запрос постоянный (который вам для формы отбирает)
а саму форму сделать на другом запросе (внутри формы прописать) который будет ссылаться на первый запрос | |
|
| |
|
|
|
| Я примерно так и поступлю:
1. Создам отдельный запрос к таблице для формы по всем полям.
2. То что есть в Where в данный момент в форме добавлю к строке фильтров
з. Это строку уже использую для формирования и сохранения нужного запроса.
Еще раз спасибо за помощь. Порой простой намек со стороны выводит мысль из ступора. | |
|
| |
|
|
|
| Если использовать объектную модель Excel, то экспорт можно сделать методом CopyFromRecordset, передав ему RecordsetClone формы. Плюс оформить лист в законченном виде. | |
|
| |
|
45 Кб. |
|
|
экспорт можно сделать методом CopyFromRecordset
|
а вот взрослые дятьки на такое даже не думают заморачиваться!
SAP - экспорт в эксель ===>>>
-----------
translation:
а на все ваши сортировки, фильтрации, подитоги
нам совершенно наплевать
|
| |
|
| |