Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Повторный запуск запроса / 7 сообщений из 7, страница 1 из 1
23.10.2011, 14:07
    #37494221
ShPavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторный запуск запроса
Есть такая проблема:

Я формирую отчет на основании запроса. Показывает все данные по выборке.
Затем закрываю отчет (открывал в предпросмотре) и добавляю в таблицу новую запись.
При последующем запуске отчета он отбражает не обновленные данные.
Если затем заново запустить приложение и просмотреть отчет, то в нем уже будет присутствовать недавно добавленная запись.

Где и что надо прописать, чтобы при повторном запуске запроса он проделывал все то, что и при первом запуске.

Если есть идеи напишите пожалуйста. Буду очень признателен.
...
Рейтинг: 0 / 0
23.10.2011, 14:22
    #37494231
ShPavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторный запуск запроса
Вопрос снят. Извените, что отвлек преждевременно.
...
Рейтинг: 0 / 0
24.10.2011, 12:37
    #37495038
ShPavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторный запуск запроса
Блин опять эта-же беда.
Помогите пожалуйста.
...
Рейтинг: 0 / 0
24.10.2011, 12:43
    #37495054
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторный запуск запроса
Что именно делаешь?
для вьюхи REQUERY(), для остальных случаев повторный SELECT.
Можешь предварительно курсор закрывать:
Код: plaintext
1.
2.
if used('MyCursor')
   use in MyCursor
endif
Тогда будешь ошибку получать если курсор не создастся свежий.
...
Рейтинг: 0 / 0
24.10.2011, 13:23
    #37495131
ShPavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторный запуск запроса
Dima T,

Вот например один из запросов с которым возникают проблемы

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
SELECT Employees_list.surname, Employees_list.name AS empl_name,;
  SUM(Account_view_b.account*Posts.persent_from_sale/ 100 );
 FROM ;
     dbautomobileshop!orders ;
    INNER JOIN dbautomobileshop!employees_list ;
   ON  Orders.id_employees = Employees_list.id_employees ;
    INNER JOIN dbautomobileshop!account_view Account_view_b ;
   ON  Orders.id_orders = Account_view_b.id_orders ;
    INNER JOIN dbautomobileshop!posts ;
   ON  Posts.id_post = Employees_list.post_code;
 WHERE  MONTH(Orders.registration_date) = ( ?enter_mounth );
   AND  YEAR(Orders.registration_date) = ( ?enter_year );
 GROUP BY Employees_list.surname, Employees_list.name

DBSetProp(ThisView,"View","SendUpdates",.F.)
DBSetProp(ThisView,"View","BatchUpdateCount", 1 )
DBSetProp(ThisView,"View","CompareMemo",.F.)
DBSetProp(ThisView,"View","FetchAsNeeded",.F.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize", 100 )
DBSetProp(ThisView,"View","MaxRecords",- 1 )
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","UpdateType", 1 )
DBSetProp(ThisView,"View","UseMemoSize", 255 )
DBSetProp(ThisView,"View","Tables","dbautomobileshop!employees_list")
DBSetProp(ThisView,"View","WhereType", 3 )

DBSetProp(ThisView+".surname","Field","DataType","V(18)")
DBSetProp(ThisView+".surname","Field","UpdateName","dbautomobileshop!employees_list.surname")
DBSetProp(ThisView+".surname","Field","KeyField",.F.)
DBSetProp(ThisView+".surname","Field","Updatable",.T.)

DBSetProp(ThisView+".empl_name","Field","DataType","V(10)")
DBSetProp(ThisView+".empl_name","Field","UpdateName","dbautomobileshop!employees_list.name")
DBSetProp(ThisView+".empl_name","Field","KeyField",.F.)
DBSetProp(ThisView+".empl_name","Field","Updatable",.T.)

DBSetProp(ThisView+".sum_exp_3","Field","DataType","N(20,4)")
DBSetProp(ThisView+".sum_exp_3","Field","KeyField",.F.)
DBSetProp(ThisView+".sum_exp_3","Field","Updatable",.F.)

Я его использую в двух отчетах. В первом отчете он является единственным источником данных, а во втором вспомогательным.
При его выполнении в отчете где он один - все нормально (т.е. при каждом вызове он запрашивает на ввод параметры: год и месяц).

Если сначала запустить отчет (в котором запрос использутся с другими данными для построения отчета) происходит запрос параметров при каждом вызове (т.е. все работает еще нормально). Но если после закрытия этого отчета, отобразить первый отчет уже не происходит запроса параметров (года и месяца), а отображается результат предыдущего выполнения.
...
Рейтинг: 0 / 0
24.10.2011, 13:55
    #37495207
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторный запуск запроса
Сделай как я выше писал, перед вызовом отчета:
Код: plaintext
1.
2.
3.
if used('MyCursor')
   use in MyCursor
endif
report ...
замени MyCursor на имя своего View
...
Рейтинг: 0 / 0
24.10.2011, 19:46
    #37495921
ShPavel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повторный запуск запроса
Dima T,

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


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