powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / VBA->SQL запрос -> Как запятую точкой заменить???
16 сообщений из 66, страница 3 из 3
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471183
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
P.S.

2 VIG:

Тот факт, что некий стринг можно преобразовать в число, зависит только от символов, входящих в него, а не от того, что это значение присвоено переменной типа Variant.

2 Serge Gavrilov:

Могу в своем примере заменить Eval на Val. Хотя она тоже отличается по своему действию от IsNumeric.
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471192
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Serge Gavrilov?IsNumeric(5/3)
True
?IsNumeric("5/3")
False

Дык, не сняло же кавычек!
Именно как раз сняло. Порядок действий следующий:

5/3 -> 1.6666... -> в функцию IsNumeric передается значение типа Single или Double -> она автоматом возвращает True

"5/3" -> в функцию IsNumeric передается значение типа String -> она снимает кавычки и получает выражение 5/3 -> возвращает False, потому что это не может рассматриваться как запись числа (то, что можно вычислить 5/3 как выражение, она в отличие от Eval игнорирует)
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471214
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Cаныч
Во первых, с праздником!
Во вторых
Я хотел сказать , что любая строка ,которую IsNumeric воспринимает как число (возвращает True) , допустима и как аргумент функции Str()
В третьих
Я с тобой полность согласен , что полагаться на преобразования по умолчанию не стоит и (повторюсь),вариант
Код: plaintext
str(round( 5 / 3 , 2 ))
лучше чем
Код: plaintext
str(format( 5 / 3 , "#.##" ))
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471223
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
:^) Понял. Спасибо и взаимно. Согласен во всем.
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471272
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЧто касается примера с Str, то там кавычки снял дебаггер - он всегда выдает строковые значения без кавычек.

Владимир Саныч, это опять же не так.
Можно изменить проверку, например так

Function strtest() As Variant
strtest = Str("2")
End Function

?strtest
2
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471275
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ну так это то же самое.

Str("2") - возвращает стринг
strtest = Str("2") - заносит стринг в strtest
?strtest - печатает стринг в дебаггере

Кстати:

?typename(str("2"))
String
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471277
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
?typename(strtest)
String
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471286
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу так это то же самое.
Str("2") - возвращает стринг
strtest = Str("2") - заносит стринг в strtest
?strtest - печатает стринг в дебаггере


Поразительно! Можно вообще убрать дебаггер... :)
Msgbox strtest .

автор?typename(str("2"))
String

А с этим я и не спорю, ясно, что Str возвращает
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471289
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кстати, в дебаггере иногда можно отличить, число ли это или его изображение стрингом. Положительные числа выводятся с пробелом слева. Если пробела нет - значит это не число. А в случае

?strtest
2

как раз нет пробела. И значит - это стринг, хотя кавычек и не видно.
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471294
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч, же не спорю с тем, что Str возвращает String это же понятно...

?strtest
2
А у меня пробел есть :) и в 2002 и в 97
С чего бы это?

Function strtest() As Variant
strtest = Str("-2")
End Function
?strtest
-2
MsgBox strtest
2

По моему спор увяз ...
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471300
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хоть убей, не пойму ,о чем вы оба продолжаете спорить. Все же выяснилось.
Были бы в Сорбонне средних веков , то спорили бы сейчас наверное о том ,сколько чертей может разместиться на кончике иглы.
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471305
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я в пылу спора начал ошибаться. Пробел действительно есть. Просто функция Str его добавляет, в отличие от CStr, к которой я привык. Но возвращает она все равно стринг.

Код: plaintext
1.
2.
3.
zzz=str( "2 ")
?zzz
  2 

Но я действительно теряю нить спора. На большинство моих постов возражений не последовало. По какому пункту у нас остались разногласия?
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471310
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторХоть убей, не пойму ,о чем вы оба продолжаете спорить. Все же выяснилось.
А я и сам не помню.... так, общаемся ....
авторто спорили бы сейчас наверное о том ,сколько чертей может разместиться на кончике иглы.
А действительно, сколько?
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471311
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, str() возвращает стринг и с этим никто не спорит. Я так понимаю ,что изначально спор возник по вопросу может ли стринг быть аргументом для str() . Выяснилось ,что может (при определенных услоиях), хотя у меня лично этот факт вызывает внутренний дискомфорт :)
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471313
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Теперь осталось пройтись по всему топику и пометить, где правда, а где заблуждения...
...
Рейтинг: 0 / 0
VBA->SQL запрос -> Как запятую точкой заменить???
    #32471324
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge GavrilovА я и сам не помню.... так, общаемся .... \r
Тогда милости просим сюда , за одно и пива попьете (виртуального)\r
\r
Serge Gavrilov А действительно, сколько? \r
А это зависит от версии иглы . Для иглы А2002 -2 гигабайта чертей .
...
Рейтинг: 0 / 0
16 сообщений из 66, страница 3 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / VBA->SQL запрос -> Как запятую точкой заменить???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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