|
|
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите, пожалуйста разобраться. Выполняю такие запросы: SELE sum(avans.sum_plat) as sumav; FROM batchs,avans,abonent; WHERE batchs.ba_num = avans.ba_num; and MONTH(batchs.ba_date) = mon_ob; and MONTH(abonent.begin_phone) -1 = MONTH(avans.data_opl); and ALLTRIM(abonent.familia) = ALLTRIM(avans.familia); and ALLTRIM(abonent.street) = ALLTRIM(avans.street); and ALLTRIM(abonent.home) = ALLTRIM(avans.home); and ALLTRIM(abonent.kvart) = ALLTRIM(avans.kvart); and avans.opl = .t.; INTO cursor avans1 SELE sum(avans.sum_plat) as summa1; FROM batchs,avans; WHERE batchs.ba_num = avans.ba_num; and MONTH(batchs.ba_date) = mon_ob; and avans.opl = .f.; INTO CURS avans2 При запуске из Фокса все в порядке, а усли запускаю exeшник, то получаю результат только второго запроса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 11:30 |
|
||
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
1. Для начала не мешает написать: ... INTO cursor avans1 NOFILTER .... (...INTO CURS avans2 NOFILTER ...) 2. Как вы в EXE-нике наблюдаете курсоры avans1 и avans2? Через какие объекты? С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 11:54 |
|
||
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
Результаты выполнения запросов идут в отчет, ну и естественно пробовал через browse, в котором результат первого запроса был пустым.... По поводу фильтрации: "При запуске из Фокса все в порядке, а если запускаю exeшник, то получаю результат только второго запроса..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 12:27 |
|
||
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
Я не понял! У вас результат первого запроса пустой или курсор avans1 не создается (расшифруйте фразу - "... то получаю результат только второго запроса...")? Если возвращается пустой курсор, то что-то не так при подсоединении таблицы abonent, проверяйте. И что есть mon_ob ? С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 12:40 |
|
||
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
Это вопрос из разряда "найдите 10 отличий" Если переписать запросы в читабельном виде, то имеем Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Ну, и в чем отличия? 1) В первом запросе стоит avans.opl = .t., а во втором avans.opl = .f. 2) В первом запросе есть связь с таблицей abonent, а во втором - нет Вот в этом направлении и копай. Что у тебя находится в таблице abonent на этапе отладки и в готовом EXE? И, кстати, что ты получишь в выражении MONTH(abonent.begin_phone) - 1 = MONTH(avans.data_opl) Если месяц - это январь? Разве бывает нулевой месяц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 13:18 |
|
||
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
Aleksey-K создается пустой курсор. mon_ob - № месяца(берется из формы) ВладимирМ Дело в том, что аблица Abonent не меняется. А по поводу MONTH(abonent.begin_phone) - 1 = MONTH(avans.data_opl) Вы совершенно правы, просто я пока не делал привязку к году :) рановато еще :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 14:45 |
|
||
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
Я так понял, проблема только в том, что в среде разработки запрос выдает результат (не пустой), а в приложении нет? И это при работе с одной и той же базой? Я бы впервую очередь убедился, что база (таблицы) действительно используется одна и та же, а затем проверил все установки - начать хотя-бы с SET DELETED ON/OFF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2006, 16:08 |
|
||
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
Сергей А.М.Я так понял, проблема только в том, что в среде разработки запрос выдает результат (не пустой), а в приложении нет? И это при работе с одной и той же базой? Я бы впервую очередь убедился, что база (таблицы) действительно используется одна и та же, а затем проверил все установки - начать хотя-бы с SET DELETED ON/OFF Да Вы совершенн правы. С установками все в порядке. Таблица одна и та же. В файле результаты выполнения этих запросов. Вверху из среды фокса, вниза из ехешника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 08:31 |
|
||
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
Ну тогда: 1. приведите свой config.fpw 2. main.prg (или что там у вас является главной программой) 3. EXE-ка запускается на той же машине, гже среда разработки (VFP) или на отдельной. 4. Как открываются источники данных для запросов: batchs,avans,abonent? Может у вас есть несколько копий на компьютере этих таблиц и при разных способах запуска приложения, невольно "хватаются" разные таблицы с одним и тем же именем? С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 10:03 |
|
||
|
Результаты запросов
|
|||
|---|---|---|---|
|
#18+
Aleksey-KНу тогда: 1. приведите свой config.fpw 2. main.prg (или что там у вас является главной программой) 3. EXE-ка запускается на той же машине, гже среда разработки (VFP) или на отдельной. 4. Как открываются источники данных для запросов: batchs,avans,abonent? Может у вас есть несколько копий на компьютере этих таблиц и при разных способах запуска приложения, невольно "хватаются" разные таблицы с одним и тем же именем? С уважением, Алексей Exe запускается на том же компе, где и фокс. текст main.prg _SCREEN.LockScreen=.T. _SCREEN.Closable=.F. _SCREEN.Caption="ПТК" _SCREEN.BackColor=rgb(120,170,245) _SCREEN.BorderStyle=2 _SCREEN.WindowState = 2 _SCREEN.LockScreen=.F. _SCREEN.Picture = "icons\Wallpapper.bmp" SET ENGINEBEHAVIOR 70 set dele on set escape off set safety off set date DMY SET TALK OFF SET BLINK OFF SET DELETED ON clear macros set blocksize to 35 set exact on SET BORDER TO set exclusive off set device to screen set console on set printer off set typeahead to 0 SET MEMOWIDTH TO 256 SET MACKEY TO set decimals to 2 set century on &&to 19 rollover 72 public G_num_abon, G_num_telef,G_fam,G_name,G_otc,G_city,G_street,G_home,G_kvart,G_data_ust,G_tarif_name,G_to_plat,G_usl8,G_usl9,G_bron, G_full_adress, G_full_name, G_user, G_data_snyat, G_id_tarif, G_new_ab public G_nach_ab,G_nach_to,G_dolg_peni,G_dolg_peni_m,G_dolg_ab,G_dolg_to,G_sa_all, G_correct, G_dolg, G_sa_all_old public G_num_book,G_book_date,G_price_book public G_bank, G_num_ba, G_date_ba, G_sum_ba, G_sum_p_ba, G_id_kvit, G_id_bank, G_good_ba public G_summ_kvit,G_id_kvit, G_data_opl_kvit, G_date_kvit, G_period, G_sc, G_sc_old, G_sc_to, G_sc_to_old, G_sc_peni,G_sc_peni_old, G_all_dolg, G_all_dolg_old, G_vid public G_last_ph, G_last_date public G_sum_peni , G_peni_ab, G_del_ab public G_av_kvit public G_peni_data, G_peni_month public G_nach_dvo, G_dolg_dvo, G_Name_dvo, G_Name_dvo1 Public G_priznak,ab do init_path do form password do peni.prg READ EVENTS Procedure Init_Path cc = sys(16) do while at(' ', cc) > 0 cc = alltrim(substr(cc, at(' ', cc), 255)) enddo cc = substr(cc, 1, rat('\', cc)) + 'bd.cfg' fff = -1 if file ('bd.cfg') fff = fopen('bd.cfg') else if file (cc) fff = fopen(cc) endif endif if fff = -1 cc = "" else cc = alltrim (fgets (fff)) =fclose (fff) endif SET PATH TO (cc) && Sets path to database PathOfDB = cc cc=cc+"ptk" OPEN DATABASE &cc && Open testdata database use abonent in 0 alias abonent use saldo in 0 alias saldo use peni in 0 alias peni use tarif_saldo in 0 alias tarif_saldo use ab_book in 0 alias ab_book use street in 0 alias street use bank in 0 alias bank use month in 0 alias month use avans in 0 alias avans use replace_kvit in 0 alias replace_kvit use kvit_book in 0 alias kvit_book use kvit in 0 alias kvit use batchs in 0 alias batchs use year in 0 alias year use edit_tarifs in 0 alias edit_tarifs use oborotka in 0 alias oborotka use oborotka_del in 0 alias oborotka_del use return in 0 alias return use korrektirovka in 0 alias korrektirovka use dvo in 0 alias dvo use kol_book in 0 alias kol_book use edit_num in 0 alias edit_num use pereplata in 0 alias pereplata USE edition IN 0 ALIAS edition USE other_peni IN 0 ALIAS other_peni USE old_abon IN 0 ALIAS old_abon USE renewal IN 0 ALIAS renewal use peni_month in 0 alias peni_month y=year(date()) sele year locate for y==year.year if found() sele month set order to num_month seek(2) repl month.day_kol with 29 else sele month set order to num_month seek(2) repl month.day_kol with 28 endi return && в cc - каталоa базы данныo config.fpw не создавал копий batchs,avans,abonent нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 12:15 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33670681&tid=1591886]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
198ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
3ms |
| others: | 225ms |
| total: | 501ms |

| 0 / 0 |
