powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Несовместимость типов данных
15 сообщений из 15, страница 1 из 1
Несовместимость типов данных
    #39278420
EX111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, столкнулся с проблемой при написании макроса. Нужно сравнивать большие числа и прогонять их по базе(сравнивать), часть переменных в дебагере отображается в кавычках, а часть без, не могу их сравнить, в чем может быть проблема (интересуют переменные d и y, их объявил как long)
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278447
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте явное преобразование - CLng()
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278469
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще есть предположение, что вы неверно используете синтаксис Dim
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278481
EX111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, Нет с Dim все в порядке, спасибо за помощь, ваш совет все исправил) Проблема была именно в неверном преобразовании данных.
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278498
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EX111с Dim все в порядкеТочно? А то может так объявляете:
Код: vbnet
1.
Dim y1,d1 as Long


а это неверно. Тип Long будет только у d1 - все остальное - Variant.
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278500
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и все же, если вы говорите, что "y" объявляете как Long, а они числятся как Variant, то, по всей видимости, записано так
Код: vbnet
1.
Dim y1, y2, y3, d2 As Long
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278514
EX111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, Я в Dim обозначил все переменные d и y как string, а потом использовал CLng() на всех этих переменных, работает отлично.
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278580
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EX111как string, а потом использовал CLng()Странный подход, однако...Особенно если учесть эту фразу:
EX111интересуют переменные d и y, их объявил как long
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278599
EX111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, когда я их объявлял как long, ничего не работало, потом объявил через string, записал туда все цифры, преобразовал в long, чтобы корректно их сравнивать, все работает, могу скинуть полный код если интересно.
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278606
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EX111когда я их объявлял как long, ничего не работалопрям так появлялось сообщение "ничего не работает"?
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278649
EX111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, Нет, просто оператор if не работал, потому что там идет сравнение этих двух переменных.
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278677
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы обе переменные были типа Long, то все работало бы нормально. CLng применялся бы автоматически при попытке присвоить строку такой переменной
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278680
EX111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, я пробовал разные варианты, присваивал и double и long и integer, правильно работать макрос начал именно после string и отдельного присваивания всем переменным CLng, не знаю почему, согласен что нелогично, но все же работать начало именно после этого
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278949
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EX111согласен что нелогично, но все же работать начало именно после этогоКонечно, не логично. Скиньте код - а мы разберемся что у Вас там не складывается с нормальными типами. Чудес не бывает.
...
Рейтинг: 0 / 0
Несовместимость типов данных
    #39278951
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что даже на скрине у Вас неверно записано сравнение:
Код: vbnet
1.
y2 <= d2 <= y3


Так не делается. Правильно так:
Код: vbnet
1.
y2 <= d2 and d2 <= y3
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Несовместимость типов данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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