Кусочек программы
if Val(alltrim(W_OPER[M.I,4]))>0 M.ANAESTHES = Val(alltrim(W_OPER[M.I,4]) endif это из ***.err M.ANAESTHES = Val(alltrim(W_OPER[M.I,4]) Error in line 433: Syntax error. что я делаю не так? Поясняю: W_OPER[M.I,4] это строка (а точнее чать данных из мемо поля) там может быть как цифры так и буквы if Val(alltrim(W_OPER[M.I,4]))>0 проверяю что тут есть число M.ANAESTHES = Val(alltrim(W_OPER[M.I,4]) тут присваиваю это число... M.ANAESTHES числовое поле длинной 2 |
Никогда не используйте в фоксе алиас М, т.к. М - это также префикс переменных памяти. Если в данном случае M - алиас, то надо писать
Replace M.anaesthes with val(alltrim(W_OPER[M.I,4])) |
moishe
Это не я. Я просто переделываю программу под новые нужды ... , и плохо разбираюсь в фоксе.... в err Replace M.anaesthes with val(alltrim(W_OPER[M.I,4])) Error in line 433: Unrecognized phrase/keyword in command. может так проще будет sss=00 sss=val(alltrim(W_OPER[M.I,4])) If sss>0 M.anaesthes=sss endif Добавлено спустя 1 час 48 минут 47 секунд: попробывал sss=00 sss=val(alltrim(W_OPER[M.I,4])) If sss>0 M.anaesthes=sss endif Ошибок нету но забил все одни и тем же значение , причем первым |
У тебя фокс какой?
И что такое все-таки "M"? Это в цикле делается, или как? И что такое W_OPER, массив? А M.I - это поле? Приведи, что ли, фрагмент покрупнее. И распиши, что где открыто. |
1. Foxpro 2.6
2. сам не заю 3. Да цикл 4. declare W_OPER[15,9] 5. М.I на скока я поянл это мемо поле там текст разделен спец символами те получается 9, как бы сказать, типа значений . т.е мемо поле содержит примерно такую запись |- это типа спец символа. аааааааааааа|ббббббббббббб|ввввв|гггг|ддддддддд||| вот это и есть M.I а циферка после запятой указывает какое значения нам надо выбрать вот место где это делается if !empty(WYP.OPERACII) declare W_OPER[15,9] store "" to W_OPER do GET_OPER with WYP.OPERACII for I=1 to alen(W_OPER, 1) if empty(W_OPER[M.I,2]) loop endif M.OPERATION = Val(alltrim(W_OPER[M.I,8])) * ------- Вто это я добавил всяко пробывал ..... sss=Val(alltrim(W_OPER[M.I,4])) if sss >0 *Replace M.anaesthes with sss *val(alltrim(W_OPER[M.I,4])) M.ANAESTHES = sss * Val(alltrim(W_OPER[M.I,4]) endif *---------------- M.DATA_OPER = W_OPER[M.I,2] M.TIME_OPER = W_OPER[M.I,7] M.FIO = alltrim(W_OPER[M.I,5]) M.APP_ENDOK = 0 M.APP_LASER = 0 M.APP_KRIOG = 0 select OPERAT insert into OPERAT from memvar endfor endif Добавлено спустя 3 часа 46 минут 14 секунд: все победил. moishe спасибо тему можно закрыть |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы |