|
|
|
FoxPro 2.5, вопрос
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Прошу вашей помощи. В фоксе шарю плохо. Есть программа, возможно на фоксе, доступа к исходжному коду нет, но все БД в его формате. Также есть подпрограмма написаная предыдущим программером на фоксе. И так: Существует таблица: tabn perem_kod sum 168 4 100 168 19 300 168 21 1000 168 6 300 Подпрограмма, делает выборку по нужным кодам,табюельным номерам, к примеру 4 и 19. Как можно сделать так, что если perem_kod = 19, то сумма умнажается на 0,666, если 21 то на 0,5, а все остальные считает без изменений? сушествует такая функция импорта данных из основной программы: func import sele prirab_r set filt to month=rmonth if seek(str(rmonth,2)+' 1','prirab_r') if .not.yes_no('Заменить уже существующие данные ?') set filt to month=rmonth.and.uch=ruch.and.sh=rshifr go top retu endif endif repl all zp with 0 go top sele zp for rshifr=1 to 3 do case case rshifr=1 shifrs=control.collect *Здесь прописаны коды, по которым нужно сделать выборку. case rshifr=2 shifrs=control.carriage case rshifr=3 shifrs=control.avizo endcase go top scan for at(allt(str(perem_kod,3))+',',shifrs)#0 =seek(tabn,'card') if .not.seek(str(rmonth,2)+str(otdel,2)+tabn+str(rshifr,1),'prirab_r') sele prirab_r appe blan repl uch with zp.otdel, month with rmonth, tabn with zp.tabn, sh with rshifr, pp with 0, ktu with 1, pr with 0 endi sele prirab_r repl zp with zp+zp.sum sele zp ends endf sele prirab_r rshifr=1 set filt to month=rmonth .and. uch=ruch .and. sh=rshifr go top retu Заранее благодарен, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 10:52 |
|
||
|
FoxPro 2.5, вопрос
|
|||
|---|---|---|---|
|
#18+
LionziИ так: Существует таблица: tabn perem_kod sum 168 4 100 168 19 300 168 21 1000 168 6 300 Подпрограмма, делает выборку по нужным кодам,табюельным номерам, к примеру 4 и 19. Как можно сделать так, что если perem_kod = 19, то сумма умнажается на 0,666, если 21 то на 0,5, а все остальные считает без изменений? Если надо исправить в таблице, то: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 11:17 |
|
||
|
FoxPro 2.5, вопрос
|
|||
|---|---|---|---|
|
#18+
Если выборку, то: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 11:23 |
|
||
|
FoxPro 2.5, вопрос
|
|||
|---|---|---|---|
|
#18+
Мая база prirab_r В нее копируются данные из другой базы. Блин, забыл указать, что в мою таблицу данные идут уже в общей сумме по tabn. А я хочу, чтобы он при получении данных делал проверку и при равенстве кода делал операцию. как мне кажется, это можно сделать где-то сдесь. но, ничего не понимаю... scan for at(allt(str(perem_kod,3))+',',shifrs)#0 =seek(tabn,'card') if .not.seek(str(rmonth,2)+str(otdel,2)+tabn+str(rshifr,1),'prirab_r') sele prirab_r appe blan repl uch with zp.otdel, month with rmonth, tabn with zp.tabn, sh with rshifr, pp with 0, ktu with 1, pr with 0 endi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 11:34 |
|
||
|
FoxPro 2.5, вопрос
|
|||
|---|---|---|---|
|
#18+
Lionzi Надо четко представлять твою задачу. Твои таблицы. И что нужно получить в результате. А это ты нам и не представил. Мы видим только код какой-то программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 12:07 |
|
||
|
FoxPro 2.5, вопрос
|
|||
|---|---|---|---|
|
#18+
Задача такая. Из уже существующей таблицы берутся данные, по номеру складываются, в дальнейшем над ними происходит ряд мат. операций. для получения коэфициента. По приведенному мною примере модно сказать так: Из основной таблицы по номеру 168 берется perem_kod равный последовательно 4,19,21,6 и складываются, получется сумма по номеру 168, в дальнейшем эту сумму умнажается на коэффициент и получают нужную сумму. Проблема в том, что коды 19 и 21 берутся целиком, а надо чтобы была только часть их, т.е. коэф. 0,666 и 0,5 соответственно. Могу выслать на мыло саму программу оригинал, и таблицу из которой она берет данные, в общем около 800 Kb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 12:30 |
|
||
|
FoxPro 2.5, вопрос
|
|||
|---|---|---|---|
|
#18+
Lionzi Могу выслать на мыло саму программу оригинал, и таблицу из которой она берет данные, в общем около 800 Kb. Высылай: vlad@tec14.permenergo.ru Но результат скорее завтра. Срочная работа настает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2005, 13:12 |
|
||
|
FoxPro 2.5, вопрос
|
|||
|---|---|---|---|
|
#18+
Думается мне, что вот здесь: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 03:22 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32995885&tid=1594316]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 352ms |

| 0 / 0 |
