powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / null функция
20 сообщений из 20, страница 1 из 1
null функция
    #32580355
aleks3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет АЛЛ!
что бы просуммировать два поля в запросе и получить новое надо использовать
функцию isnull.А может есть вариант как обойтись без нее. Что-то в духе
val(p1 & "+" & p2).Но в данном случае не отображается дробная часть.
Как ее отобразить?
...
Рейтинг: 0 / 0
null функция
    #32580369
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не совсем понял чем вам isnull в сочетании с iif не угодил?

ну не угодил - используйте nz

PS: для вычисление вырадения "1+2" функция val не подходит (ибо вернет 1), надо использовать функцию eval (ИМХО)
...
Рейтинг: 0 / 0
null функция
    #32580374
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
isnull надо использовать если поля могут содержать null, если поля имеют дифолты и не могут быть пустыми, то не стоит и волноваться. В противном случае можно воспользоваться функцией Nz - no zero Nz([Fld1],0).

А это: val(p1 & "+" & p2) галиматья
...
Рейтинг: 0 / 0
null функция
    #32580393
aleks3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в полях содержится null.Поэтому использую функцию isnull
...
Рейтинг: 0 / 0
null функция
    #32580404
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks3У меня в полях содержится null.Поэтому использую функцию isnull
?

Что-то не понятно.
А что от форума хотите?
...
Рейтинг: 0 / 0
null функция
    #32580423
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to paparome:
Наверно правды!
...
Рейтинг: 0 / 0
null функция
    #32580479
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-матки
...
Рейтинг: 0 / 0
null функция
    #32580547
aleks3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто в faq по access почитал

A2: Если одно из сравниваемых значений Null, то любое выражение с ним вернет Null (который приравнивается к False). Чтобы этого избежать, можно пользоваться функцией IsNull, которая в соответствующем случае возвращает True.

Примечание. Операция & работает иначе. Если A - значение, которое может быть либо строкой, либо Null'ом (например, поле строкового типа), то:

A + "zzz" -> если в A сидит Null, то получится Null
A & "zzz" -> если в A сидит Null, то получится "zzz"

На этом основан следующий трюк:

(A + ",") & (B + ",") & (C + ",")

Если какое-то из значений A, B, C равно Null, то вся соответствующая скобка даст Null и соответствующая запятая будет уничтожена, а затем соединение через & возьмет только те слагаемые, где не Null.


решил проверить в запросе не работает
...
Рейтинг: 0 / 0
null функция
    #32580565
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Что именно не работает? Этот фак писал я, я хочу понять. Есть пример выражения, которое не сработало? Чему были равны значения полей и что получилось в результате?
...
Рейтинг: 0 / 0
null функция
    #32580570
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что в запросе не рабоает?
В приведенной вами выдержке из FAQ речь идет о строковых переменных, а вы пытаетесь это к числовым применить (и это все относиться именно к запросам - ибо в VBA переменная типа String не может принимать значение Null)

PS: конкатенация от операции сложения отличается не только работой с Null
Код: plaintext
1.
2.
3.
4.
5.
Dim a As Integer
Dim b As Integer
  a =  1 
  b =  2 
  MsgBox a + b
  MsgBox a & b
Знак конкатенации приводит к неявному преобразованию типов!
...
Рейтинг: 0 / 0
null функция
    #32580585
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
paparomeв VBA переменная типа String не может принимать значение Null
Зато типа Variant может. :^)
...
Рейтинг: 0 / 0
null функция
    #32580595
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычЗато типа Variant может. :^)Не вопрос :)
...
Рейтинг: 0 / 0
null функция
    #32580933
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparomeв VBA переменная типа String не может принимать значение NullЗато может стать пустой строкой, что тоже весьма неудобно. И напоминаю про апострофы, которые сделают невозможной работу большинства запросов.
...
Рейтинг: 0 / 0
null функция
    #32580937
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
маякЗато может стать пустой строкой, что тоже весьма неудобно. И напоминаю про апострофы, которые сделают невозможной работу большинства запросов.
А в чем проблема? Можно пример? Желательно к обоим утверждениям.
...
Рейтинг: 0 / 0
null функция
    #32581048
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч маякЗато может стать пустой строкой, что тоже весьма неудобно. И напоминаю про апострофы, которые сделают невозможной работу большинства запросов.
А в чем проблема? Можно пример? Желательно к обоим утверждениям.1. Про пустую строку ничего путного не скажу.

2. А вот про апострофы...

Код: plaintext
db.Execute "UPDATE [Table] SET [Field]='" & sVar1 & "' WHERE [Pole]='" & sVar2 & "'"

Теперь представим, что будет, если sVar1="Katsman's question" - вполне невинное значение...
...
Рейтинг: 0 / 0
null функция
    #32581055
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТеперь представим, что будет, если sVar1="Katsman's question" - вполне невинное значение
Replace(sVar1, "'", "''")
?
...
Рейтинг: 0 / 0
null функция
    #32581058
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
маякТеперь представим, что будет, если sVar1="Katsman's question" - вполне невинное значение...
Ну так удваивание апострофов - это известная вещь, которая даже в факах упомянута...
...
Рейтинг: 0 / 0
null функция
    #32581075
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparome авторТеперь представим, что будет, если sVar1="Katsman's question" - вполне невинное значение
Replace(sVar1, "'", "''")
?И на хитрую ж@пу найдётся... В текстовом поле и апостроф, и кавычка. Согласен, пример нереальный.
...
Рейтинг: 0 / 0
null функция
    #32581085
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ на хитрую ж@пу найдётся... В текстовом поле и апостроф, и кавычка. Согласен, пример нереальный.
Плохо видно - согласен, но я не заменял апостроф на кавычку, а заменял апостроф на 2 апострофа :))
...
Рейтинг: 0 / 0
null функция
    #32581089
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
маякВ текстовом поле и апостроф, и кавычка. Согласен, пример нереальный.
Во всех примерах здесь только апостроф.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / null функция
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]