|
|
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
Народ, кто нить может рассказать как сделать сложную выборку, скажем есть несколько параметров, по которым может осуществлятся выборка, они должны задаваться пользователем, скажем дата (имеется в виду что используется промежуток), клиент (имя), работник (имя) при выборке может использоватся один из них или любая их комбинация причем это желательно оформить в виде форму, это я могу, а вот как связать все это между собой? результат можно в виде таблицы как это возможно сделать скажем макросом? в ВБА не разбираюсь настолько хорошо, но за код буду благодарен если кто подскажет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 17:03:19 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
Вот пример, хотя и не очень хороший Это обработчик кнопки на форме ввода параметров запроса, который строит фразу where и ставит фильтр на основную форму. По хорошему надо делать запрос с параметрами, но здесь этого нет Private Sub Command12_Click() Dim Cond As String Dim Temp As Variant On Error GoTo E1 Cond = "" If Not (IsNull(Me![DATE1])) Then Temp = DateValue(Me![DATE1]) If IsNull(Temp) Then MsgBox ("Îøèáêà â çàäàíèè íà÷àëüíîé äàòû") Exit Sub End If If Len(Cond) > 0 Then Cond = Cond + " and " End If Cond = Cond + " CDate(""" + Format(Temp, "DD.MM.YYYY") + """)<=REQ_DATE" End If If Not (IsNull(Me![DATE2])) Then Temp = DateValue(Me![DATE2]) If IsNull(Temp) Then MsgBox ("Îøèáêà â çàäàíèè êîíå÷íîé äàòû") Exit Sub End If If Len(Cond) > 0 Then Cond = Cond + " and " End If Cond = Cond + "REQ_DATE<=" + "CDate(""" + Format(Temp, "DD.MM.YYYY") + """)" End If If Not (IsNull(Me![DEP_ID])) Then If Len(Cond) > 0 Then Cond = Cond + " and " End If Cond = Cond + "DEP_ID=" + Str(Me![DEP_ID]) End If If Not (IsNull(Me![QUESTION])) Then If Len(Cond) > 0 Then Cond = Cond + " and " End If Cond = Cond + "REQ_ID in (select REQ_ID from QUESTIONS where QUESTION like ""*" + Me![QUESTION] + "*"")" End If DoCmd.Close acForm, "PARAMETERS" If Len(Cond) > 0 Then DoCmd.ApplyFilter , Cond End If E1: Temp = Null Resume Next End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 17:37:12 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
стоп, он у тебя когда натыкается на пустое значение выдает сообщение (не знаю что там написано, кодировка не видит) и выходит?!? или не выходит? потому что мне надо либо поиск по какому то одному из параметров, либо их комбинация..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 17:41:38 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
Примерно вот так, только надо ещё в запрос вставить проверки на незаполненные поля для фильтрации по дате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 17:48:22 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
Если будут вопросы, то ответы будут завтра. Я до дому ща :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 17:54:25 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
2Unicco а если не нужна дата, а нужна только выборка по клиенту? можно так? жаль :-( ну да ладно, я с отчетом пока повожусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 17:58:30 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
Завтра с утра по поводу дат изображу что-нить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:00:55 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
2 SBL Выходит не если не заполнено, а если заполнено неправильно (не преобразуется в дату). Если не заполнено, то соответствующая часть условия просто не пишется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:17:32 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
*2 SBL Выходит не если не заполнено, а если заполнено неправильно (не преобразуется в дату). Если не заполнено, то соответствующая часть условия просто не пишется пасибо, попробую copy/paste кода сработает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:25:59 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 19:05:18 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
Rivkin Dmitry Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. и куда это ткнуть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 19:27:22 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
paparome http://www.sql.ru/faq/faq_topic.aspx?fid=114 Посмотри - вдруг поможет в понимании проблемы может быть, хотя не совсем понятно как это в аксесс впихнуть :-( и в упор непонятно откуда там в конце всплывают константы...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 10:07:19 |
|
||
|
Сложная выборка
|
|||
|---|---|---|---|
|
#18+
Возьми-ка примерчик. Здесь нет исходных текстов. их не надо куда-нибудь подтыкать, просто внимательно изучи SQL-запрос, используемый в базе. Поиск происходит на лету, причем параметров поиска может быть очень много, идеи ничего не меняет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 14:20:25 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32607000&tid=1671124]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 364ms |

| 0 / 0 |
