| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Foxpro/Clipper/Dbase > FoxPro 2.5 вопрос импорт |
| Автор: lionzi 4.4.2005, 09:36 |
| Здравствуйте. Прошу вашей помощи. В фоксе шарю плохо. Есть программа, возможно на фоксе, доступа к исходжному коду нет, но все БД в его формате. Также есть подпрограмма написаная предыдущим программером на фоксе. И так: Существует таблица: 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 Заранее благодарен, Александр. |
| Автор: Кащей 5.4.2005, 23:29 | ||
Если у вас нет исходного кода, то я плохо себе представляю как вы собираетесь менять алгоритм программы Если же вы собираетесь сделать дополнительную обработку данных из базы, то пишите скрипт на цикле scan и внутри него просто сравнивайте через if значение поля и соответственно умножайте или не умножайте сумму на коэффициент |
| Автор: bas 7.6.2005, 15:30 | ||
Если у вас есть FoxPro 2.5 то можете составить запрос типа
|
| Автор: fevdokimov 1.7.2005, 12:54 |
| Если программа написана на FoxPro, то для получение исходников попробуй воспользоваться ReFox 8-й версии(бесплатна??!!??), иногда помогает |
| Автор: Фоксик 11.10.2005, 13:21 |
| |
| Автор: Cashey 11.10.2005, 21:09 | ||
Можно, только осторожно и обязательно надо что бы версии фокса были одинаковые |
| Автор: Dimchik 14.10.2005, 04:59 | ||
конечно можно под VFP прекрасно добавляются и удаляются записи которые потом FOX2.5 прекрасно переваривает только наоборот нельзя т.к. DOS не понимает Visual |