powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / найти по числу
16 сообщений из 16, страница 1 из 1
найти по числу
    #35886395
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите как сделать чтобы я смог найти сотрудников по числу, всё работает, по службе, предприятию, итд итп в гриде показывает, а вот по числу не получается. Надо ввести число в текст бокс и чтоб результаты появились в гриде

a='usl_do'
b='bd_pr'
c='sprav'
e='stprof'
f='usl_ol'
ff='usl_mp'

IF thisform.combo2.Value='санатории'
tip=1
IF thisform.combo3.Value='служба'
Serviciu = 'ppp'

IF thisform.combo4.Value = 'число'
var1 = '&a->datr = thisform.text2.Value'
var2 = '&a->datr > { . . }'
ELSE
IF thisform.combo4.Value = 'семестр'
var1 = '&a->datr >= thisform.text2.Value'
var2 = '&a->datr <= thisform.text3.Value'
ELSE
IF thisform.combo4.Value = 'все'
var1 = '&a->datr > { . . }'
var2 = '&a->datr > { . . }'



SELECT 0
USE &a
SELECT 0
USE &b
SELECT 0
USE &c
SELECT 0
USE &e

SELECT &b->name;
, &a->tab_nom;
, &e->cpodl;
, &a->summa;
, &a->datv;
, &a->cena;
, &a->kol;
, &a->summ;
, &a->datr;
, &c->name;
, &c->cod;
FROM data1!&c INNER JOIN data1!&a;
INNER JOIN data1!&b;
INNER JOIN data1!&e;
ON &b->bdp = &e->bdp;
ON &a->tab_nom = &b->tab_nom;
ON &c->nom = &a->cods;
WHERE &c->cod = tip AND &a->bdp = ppp AND &var1 = .T. AND &var2 = .T. ;
ORDER BY &b->name;
INTO CURSOR serv
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

thisform.grid2.Recordsource='serv'
thisform.grid2.Visible=.t.
thisform.grid2.Refresh
...
Рейтинг: 0 / 0
найти по числу
    #35886401
Liosha_nove4ok,
опять этот ужас с макроподстановкой...
...
Рейтинг: 0 / 0
найти по числу
    #35886411
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,

объясни пожалуйста что за ужас? я с фоксом не давно работаю, но всё же работает... мне щп просто надо сделать чтобы смог искать по числу
...
Рейтинг: 0 / 0
найти по числу
    #35886439
Liosha_nove4okпроходящий.,

объясни пожалуйста что за ужас? я с фоксом не давно работаю, но всё же работает... мне щп просто надо сделать чтобы смог искать по числу
Это сплошные &a, &b, &c, &var. Это даже знающим людям трудно понять, не говоря уже о новичках.
...
Рейтинг: 0 / 0
найти по числу
    #35886454
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,

ладно понел, исправлюсь, только подскажите как этот поиск сделать, а то пишу дату и результат ноль
...
Рейтинг: 0 / 0
найти по числу
    #35886491
Liosha_nove4okподскажите как сделать чтобы я смог найти сотрудников по числу,
По числу - это по дате чтоль? Интересная терминология...
...
Рейтинг: 0 / 0
найти по числу
    #35886494
Liosha_nove4okпроходящий.,

ладно понел, исправлюсь, только подскажите как этот поиск сделать, а то пишу дату и результат нольПишешь куда?
...
Рейтинг: 0 / 0
найти по числу
    #35886504
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,

дата, число. всмысле 21.03.2009

пишу дату в текст бокс а в гриде должны появится сотрудники с такой датой
...
Рейтинг: 0 / 0
найти по числу
    #35886569
Liosha_nove4ok,
вот как примерно это должно выглядеть. Проверить работоспособность не могу за отсутствием исходных данных.
Код: 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
*a='usl_do'
*b='bd_pr'
*c='sprav'
*e='stprof'
*f='usl_ol'
*ff='usl_mp'

With Thisform
  If .combo2.Value='санатории'
    tip= 1 
    If .combo3.Value='служба'
      Serviciu = 'ppp'
  
      If .combo4.Value = 'число'
        var1 = 'usl_do->datr = thisform.text2.Value'
        var2 = 'usl_do->datr > {}'
      Else
        If .combo4.Value = 'семестр'
          var1 = 'usl_do->datr >= thisform.text2.Value'
          var2 = 'usl_do->datr <= thisform.text3.Value'
        Else
          If .combo4.Value = 'все'
            var1 = 'usl_do->datr > {}'
            var2 = 'usl_do->datr > {}' 
  
            Use usl_do In  0 
            Use bd_pr In  0 
            Use sprav In  0 
            Use stprof In  0    

            Select bd_pr->Name;
              , usl_do->tab_nom;
              , stprof->cpodl;
              , usl_do->Summa;
              , usl_do->datv;
              , usl_do->cena;
              , usl_do->kol;
              , usl_do->Summ;
              , usl_do->datr;
              , sprav->Name;
              , sprav->cod;
              FROM data1!sprav INNER Join data1!usl_do;
              INNER Join data1!bd_pr;
              INNER Join data1!stprof;
              ON bd_pr->bdp = stprof->bdp;
              ON usl_do->tab_nom = bd_pr->tab_nom;
              ON sprav->nom = usl_do->cods;
              WHERE sprav->cod = tip And usl_do->bdp = ppp And &var1  And &var2 ;
              ORDER By bd_pr->Name;
              INTO Cursor Serv
          Endif
        Endif
      Endif
    Endif
  Endif
 
  .grid2.RecordSource='serv'
  .grid2.Visible=.T.
  .grid2.Refresh
EndWith 
...
Рейтинг: 0 / 0
найти по числу
    #35886686
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.,

спасибо большое
...
Рейтинг: 0 / 0
найти по числу
    #35886815
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
проходящий.

Я понимаю что при селектах таблицы открываются автоматом, или я не прав? Вопрос в том- может USE убрать?
...
Рейтинг: 0 / 0
найти по числу
    #35886896
gepard45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по коду,самый короткий путь из Москвы в Питер, это через Владивосток. Ваш код это полный бред
...
Рейтинг: 0 / 0
найти по числу
    #35886930
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
зачем же вы так, лучше подскажите как дана правильно
...
Рейтинг: 0 / 0
найти по числу
    #35886966
BMJпроходящий.

Я понимаю что при селектах таблицы открываются автоматом, или я не прав?Прав. Вопрос в том- может USE убрать?Зависит от выполняемых задач. Для опубликованного здесь кода можно и убрать.
...
Рейтинг: 0 / 0
найти по числу
    #35886988
&lt;&gt;
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BMJ
Я понимаю что при селектах таблицы открываются автоматом, или я не прав? Вопрос в том- может USE убрать?

В VFP9, если она уже где-нибудь открыта, будет 'Access denied'.
...
Рейтинг: 0 / 0
найти по числу
    #35887170
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.Liosha_nove4ok,
вот как примерно это должно выглядеть. Проверить работоспособность не могу за отсутствием исходных данных.
Код: 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
*a='usl_do'
*b='bd_pr'
*c='sprav'
*e='stprof'
*f='usl_ol'
*ff='usl_mp'

With Thisform
  If .combo2.Value='санатории'
    tip= 1 
    If .combo3.Value='служба'
      Serviciu = 'ppp'
  
      If .combo4.Value = 'число'
        var1 = 'usl_do->datr = thisform.text2.Value'
        var2 = 'usl_do->datr > {}'
      Else
        If .combo4.Value = 'семестр'
          var1 = 'usl_do->datr >= thisform.text2.Value'
          var2 = 'usl_do->datr <= thisform.text3.Value'
        Else
          If .combo4.Value = 'все'
            var1 = 'usl_do->datr > {}'
            var2 = 'usl_do->datr > {}' 
  
            Use usl_do In  0 
            Use bd_pr In  0 
            Use sprav In  0 
            Use stprof In  0    

            Select bd_pr->Name;
              , usl_do->tab_nom;
              , stprof->cpodl;
              , usl_do->Summa;
              , usl_do->datv;
              , usl_do->cena;
              , usl_do->kol;
              , usl_do->Summ;
              , usl_do->datr;
              , sprav->Name;
              , sprav->cod;
              FROM data1!sprav INNER Join data1!usl_do;
              INNER Join data1!bd_pr;
              INNER Join data1!stprof;
              ON bd_pr->bdp = stprof->bdp;
              ON usl_do->tab_nom = bd_pr->tab_nom;
              ON sprav->nom = usl_do->cods;
              WHERE sprav->cod = tip And usl_do->bdp = ppp And &var1  And &var2 ;
              ORDER By bd_pr->Name;
              INTO Cursor Serv
          Endif
        Endif
      Endif
    Endif
  Endif
 
  .grid2.RecordSource='serv'
  .grid2.Visible=.T.
  .grid2.Refresh
EndWith 


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


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