Monstria писал(а):На скрине не хватает последней строки кода: -"end if"
да, я понял - чтобы закрыть первый if.
Но Ваш код у меня не пошел(((( Я вообще не знаю VB - наверное, поэтому. Или я не корректно сформулировал задачу. В любом случае, интерестно было бы узнать реализацию и на VB
Конкретно, пробывал в таком виде:
Код: Выделить всё
dim s ' это, я так понимаю, объявление переменной s.
'Причем, я не пойму - а тип определится автоматически?
s= [age] ' припаяли значение поля age (геологический возраст объекта) переменной s
if not isnull(s) then ' s - не нулевое? если да (а зачем эта доп.проверка?)
if s='P2bc' then 'то проверяем s == P2bc ? Если да,
s='{щb]' 'то выставляем значение под шрифт отображения Geof
end if
end if
Итак, s у нас теперь содержит либо ок либо ничего и это присваиваем новому полю TITLE
Но это не работает(((( синтаксическую ошибку выдает
А вот замечания Vaska72 помогли запустить код на Python!
Vaska72 писал(а):Не проверял, но
1) после else не хватает двоеточия
да, это промазал как оформлял. Вообще оказалось что в моем случае ветка else - не нужна напрочь. Функция
сама возвращает без спроса у меня ноль
Vaska72 писал(а):
2) внутри функции нельзя использовать названия полей, значение поля X передается в функцию как параметр. Соответственно должно быть if value=='sobaka':
А вот вот это оказалось корнем зла моей проблемы
Вот изучаешь язык, изучаешь. Читаешь, блин, про локальные глобальные переменные, функции, параметры функций... Все так понятно. Весь такой умный ходишь. А когда приходится попрактиковать - все эти знания лежат на дне сознания как куча хлама. И забываешь напрочь что там в использовании функции допустимо, а что нет.
Конечный код на питоне таков (может, кому пригодится).
Код: Выделить всё
def index(value):
if value=='P3':
return '}х'
elif value=='P2bc':
return '}зb['
elif value=='P2kn':
return '}зkn'
elif value=='P2kv':
return '}зkv'
elif value=='N2':
return 'N2'
elif value=='N1':
return 'N1'
TITLE=index(age)