powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Помогите разобраться с Filter
4 сообщений из 4, страница 1 из 1
Помогите разобраться с Filter
    #38079684
Катраш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вот такой вот скриптик для фильтрации из двух полей, но он срабатывает только по dat , на tab нуль реакции

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
String ls_filter_tab, ls_filter_date, ls_filter_date_tab

ls_filter_date = "((dat >='"+em_begin.text+"') and (dat <='"+em_end.text +"')"
ls_filter_tab   = "(tab = '"+sle_date_tab.Text+"'))"
ls_filter_date_tab = ls_filter_date+" and "+ls_filter_tab
sle_test.text = ls_filter_date_tab
dw_main.SetFilter(ls_filter_date_tab)
dw_main.Filter( )


sle_test.text
Код: powershell
1.
((dat >='07.12.2012') and (dat <='14.12.2012') and (tab = '544'))



Если все тоже выполнить через SQL

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT base.id_t,   
         base.dat,   
         base.tab,   
         base.fio,   
         base.ved,   
         spstol.st_name,   
         sppod.sname,   
         base.total  
    FROM base,   
         spstol,   
         sppod  
   WHERE ( base.id_stol = spstol.st_id ) and  
         ( base.id_cex = sppod.sceh ) and  
         ( ( base.dat >= '07.12.2012' ) AND  
         ( base.dat <= '14.12.2012' ) AND  
         ( base.tab = '544' ) )    



то все коректно срабатывает, подскажите где и что неправильно.
...
Рейтинг: 0 / 0
Помогите разобраться с Filter
    #38079710
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Внутренний формат поля в в dw всегда datetime
2. Желательно учитывать что в поле может быть null
3. Имена колонок в dw точно такие как вы указываете в фильтре
Итого, запись должна быть примерно такой
if(IsNull(dat),date(1900,1,1),dat)>=date('07.12.2012') and if(IsNull(dat),date(1900,1,1),dat)<=date('14.12.2012') and if(isNull(tab),'', tab)='544'
...
Рейтинг: 0 / 0
Помогите разобраться с Filter
    #38079763
Катраш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001,

1. Временно сделал все поля текстовыми, но верну назад к datetime (Вторую неделю разбираюсь с PB и с чем его едят)
2. Учту
3. Да, имена точно такие
...
Рейтинг: 0 / 0
Помогите разобраться с Filter
    #38079874
Катраш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел потерявшиеся две строчки которые всё и портили, убили мне день работы в пятницу :(

Почти конечный результат вышел такой:

Код: powershell
1.
2.
3.
4.
5.
ls_filter_date = "if(isNull(dat),'',dat)>='"+em_begin.text+"' and if(isNull(dat),'',dat)<='"+em_end.text +"'"
ls_filter_tab   = "if(isNull(tab),'',tab)='"+sle_date_tab.Text+"'"
ls_filter_date_tab = ls_filter_date+" and "+ls_filter_tab
dw_main.SetFilter(ls_filter_date_tab)
dw_main.Filter( )



spas2001 , огромное спасибо за помощь.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Помогите разобраться с Filter
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]