|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
Access 2007. Применяю в запросе функцию IIf для выбора коэффициентов. Коэффициенты должны быть числового формата для последующих вычислений. Вот один пример: Норма времени: IIf([Реестр]![Диаметр трубопроводов]="";"";IIf([Реестр]![Диаметр трубопроводов]<109;"3.7";IIf([Реестр]![Диаметр трубопроводов]<220;"4.7";IIf([Реестр]![Диаметр трубопроводов]<326;"5.8";IIf([Реестр]![Диаметр трубопроводов]<427;"7.0";IIf([Реестр]![Диаметр трубопроводов]<631;"8.4";IIf([Реестр]![Диаметр трубопроводов]<821;"10.1";IIf([Реестр]![Диаметр трубопроводов]<1021;"11.2";IIf([Реестр]![Диаметр трубопроводов]<1221;"12.5";"13.6"))))))))) Вот второй пример: Коэффициент: IIf([Реестр]![Протяженность, м (по каналу)]<250;1;0,75) В первом случае результат оказывается строковой величиной, во втором числовой. Как сделать в первом выражении результат числовым уже 2-й день голову ломаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 11:29 |
|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
Лишние кавычки поубирай. Ты САМ указываешь, что это СТРОКА. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 11:32 |
|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
Я их не ставлю. Они появляются сами после выполнения запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 11:38 |
|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
Два вопроса просто из любопытства: 1. Почему IIf([Реестр]![Диаметр трубопроводов]="";""; а не IIf([Реестр]![Диаметр трубопроводов] Is Null;Null; 2. Почему восклицательные знаки, а не точки? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 11:49 |
|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
Поставить запятую вместо точки в числах, убрав кавычки? Если конструктор сам ставит кавычки, значит он не распознает данные как число ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 11:51 |
|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
1. Потому что константа пустой ячейки это "", а Null это значение. Хотя эта проверка корректно не работает честно говоря. 2. Потому что [Реестр] является семейством для объекта полей. Нашёл причину, все банально)) Разделитель дробной части у меня должен быть ",", а не ".". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 12:07 |
|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
Energetik... константа пустой ячейки это "", а Null это значение. ... Тянет на перл месяца. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 12:09 |
|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
Energetik1. Потому что константа пустой ячейки это "", а Null это значение. Хотя эта проверка корректно не работает честно говоря.Ячейки? Гм... Как раз таки "" ( строка нулевой длины) - это значение. А Null - это отсутствие значения. Energetik2. Потому что [Реестр] является семейством для объекта полей.Проще говоря - таблица? Понять, что такое "является семейством для объекта полей" никак не могу... Кто чье семейство? Кто чей объект? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 12:21 |
|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
Надежнее всего на пустоту в текстовых полях проверять как Код: vbnet 1.
Так и Null и "" будет отловлен. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 12:36 |
|
Формат аргументов функции IIf
|
|||
---|---|---|---|
#18+
MrShinНадежнее всего на пустоту в текстовых полях проверять как Код: vbnet 1.
Так и Null и "" будет отловлен.Если можно обойтись без вызова функции VBA из SQL, то лучше обойтись. Вот это работает заметно быстрее: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2016, 12:44 |
|
|
start [/forum/topic.php?fid=45&fpage=113&tid=1613938]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
30ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 147ms |
0 / 0 |