|
|
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Проблема вот в чем: Команда sort to .... выдает ошибку когда используется фильтрация в таблице которой сортируем Т.е. в программе идет select vZip Set filter .... ... .. select vZip sort to ... и тут вылазит ошибка( как можно исправить или заменить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2007, 20:05 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Заменить всю эту кучу устаревших команд на Select-SQL. Там тебе и фильтрация, и сортировка и много чего ещё. Почитай чего-нибудь бумажного или электронного. Воспользуйся Поиском на этом сайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2007, 21:27 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Точно) это же можно создать представление и с ним работать а потом закрыть просто и все) а я дурак временные файлы создавал) спасибо!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2007, 22:39 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Только вот команда select игнорирует команду set filter( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 16:52 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
приведи код пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 17:39 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
раньше у меня было так SELECT vZip SORT TO Temp.dbf ON cTip, cNazvanie ASCENDING а про select-sql в книжке написано что set filter игнарирует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 17:55 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
вот так игнорирует: SELECT ALL * ; FROM vZip ; ORDER BY cTip, cNazvanie ; INTO DBF Temp.dbf ; NOCONSOLE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 17:59 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Добавить WHERE Условие фильтрацци ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:08 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
ValeryLДобавить WHERE Условие фильтрацци так не получиться потому что условие фильтра задается совсем в другом месте а команда evaluate() написано может выдавать неверные результат, да и при создании фильтра используются локальные переменные( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:18 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
при создании фильтра используются локальные переменные А вот это вот очень опрометчивое решение, так как Set Filter - настройка глобальная и может сработать в любое время, в том числе во время выхода из области видимости той самой локальной переменной, которая используется в выражении фильтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:36 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov. при создании фильтра используются локальные переменные А вот это вот очень опрометчивое решение, так как Set Filter - настройка глобальная и может сработать в любое время, в том числе во время выхода из области видимости той самой локальной переменной, которая используется в выражении фильтра. понял это только что)смжу и исправляю но в where всеравно условие фильтрации включить нельзя так evaluate нельзя использовать( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:51 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
авторсмжу и исправляю но в where всеравно условие фильтрации включить нельзя Хочешь открою маленькую тайну - большинство здесь присутствущих включает разные условия фильтрации в where но несколько раз на дню. Приведи больше кода, вместе с этими несчастными переменными, и тебе обязательно помогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 22:02 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Ладно описываю все подробно) Короче есть форма которая открывается с открытием базы и отображает там данные, на форме есть pageframe, на каждой странице page есть таблица которая отображает данные, а также на каждой странице есть возможность сделать фильтр, потом нажимаетсыя кнопка создания отчета и появляется еще одна форма в которой выбирается тип отчета и создаются отчеты. и вот ри создании отчетов у меня идет не такая сортировка как в таблице и приходиться делать курсор с нужной сортировкой. и вот код который в кнопке создания фильтра на главной форме Код: plaintext 1. 2. 3. &lcUslCena-"сравнительная" операция (=,<,>,<>...) правда переменные я тут не использую т.к. с локальными оно не работает а глобальных надо очень много создавать так как на на главной формеотображаются 5 таблиц. фильтр делается в зависимости от того какое условие выбрано, макроподстановка это и есть знаки равно,>,<>,<>,AND,OR и т.д. а вот при создании отчета я делаю вот так SELECT ALL * ; FROM vZip ; ORDER BY cTip, cNazvanie ; INTO CURSOR Temp READWRITE отчет создается процедурами кототые в отдельной *.prg файле вот такая вот проблема если кто то поможет в данной проблеме будет здорово потому что это мой диплом дждо сдачи которого осталась неделя, а еще документация не готова... Заранее всем спасибо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 23:24 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Попробуй вот это Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 08:25 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
сорри, не проснулся ещё - поправка Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 08:31 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Общая идея состоит в том, что нужно образовать текстовую переменную, в которую записать условие фильтра. Например так: Local lcWhereExp lcWhereExp = 'LOWER(ALLTRIM(vZip.cNazvanie))=' +; 'LOWER(ALLTRIM(thisform.pageframe1.page2.pageframe1.page2.txtNazv.Text))' + ; '&lcLog1 vZip.nCena &lcUslCena VAL(thisform.pageframe1.page2.pageframe1.page2.txtCena.Text)' + ; '&lcLog2 vZip.nSklad &lcUslKol VAL(thisform.pageframe1.page2.pageframe1.page2.txtKol.Text)' После этого записать SELECT SELECT ALL * ; FROM vZip ; ORDER BY cTip, cNazvanie ; INTO CURSOR Temp READWRITE; WHERE EVALUATE(lcWhereExp) Кстати откуда взялось мнение, что EVALUATE может давать неверные результаты. Ну не нравится EVALUATE, используйте макро: WHERE &lcWhereExp Конечно, в выражении не должно быть локальных переменных lcLog1, lcLog2 и т.д. Один из вариантов. Создайте переменные формы cLog1, cLog2 и т.д. В программе используйте параметр - ссылку на объект Form: *PROCEDURE PrintReport LPARAMETRS loForm, а в lcWhereExp вместо ThisForm - loForm, loForm.cLog1 и т.д. Вызов из формы: DO PrintReport WITH ThisForm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 08:49 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Спасибо буду пробовать Наверно все таки сделаю глобальными переменные Всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 13:27 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Когда ты сформируешь строку, взяв значения переменных и подставишь эту строку куда показали, тебе эти переменные нафиг будут не нужны, ни глобальные, ни локальные. Ты главное идею просекИ. Это штатный подход. Так или похоже делают все. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 17:56 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Все догнал Спасибо!) но тут проблема похлеще назревает) надо сделать сеть а проект почти написан уже, а до сдачи диплома 21 день... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 18:00 |
|
||
|
Sort to при фильтрации
|
|||
|---|---|---|---|
|
#18+
Спасибо все работает) только с маленькой поправкой в строке с названием: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2007, 15:20 |
|
||
|
|

start [/forum/topic.php?fid=41&gotonew=1&tid=1589490]: |
0ms |
get settings: |
9ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
13ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 473ms |

| 0 / 0 |
