powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / интегер 71 почему-то меньше интегера 39
25 сообщений из 33, страница 1 из 2
интегер 71 почему-то меньше интегера 39
    #40038881
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здарова, коллеги!
в операторе IF проверяются значения двух переменных типа Integer. При этом при сравнении i3=71 и i1=39 почему-то уходит в ветку i3<i1. Причем при проверке функцией IsNumeric обе возвращают "true". Прилагаю саму базу. Там на форме "Форма1" есть кнопка "Step1". В ее коде внутри цикла do while всё и происходит. Уже всё урезано до проблемных данных. Сейчас сделаю по-другому: возьму i3-i1 и буду сравнивать с нулем. Но хотелось бы разобраться, что за бл?*:!во-то твориться...
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038885
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar,

А с чего вы решили чё переменные Integer
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038886
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
до 150 кб не жмется, так что вот вторая часть...
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038887
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI
Beliar,

И

нечаяно ctrl+Enterнажал (чтоб перейти на новую строку)
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038888
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038890
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI
Beliar,

А с чего вы решили чё переменные Integer


Объявлены как интегер лично моими руками
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038891
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторСейчас сделаю по-другому: возьму i3-i1 и буду сравнивать с нулем.
Вот так работает. Но что не так с прямым сравнением???
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038893
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar
Здарова, коллеги!
в операторе IF проверяются значения двух переменных типа Integer. При этом при сравнении i3=71 и i1=39 почему-то уходит в ветку i3<i1. Причем при проверке функцией IsNumeric обе возвращают "true". Прилагаю саму базу. Там на форме "Форма1" есть кнопка "Step1". В ее коде внутри цикла do while всё и происходит. Уже всё урезано до проблемных данных. Сейчас сделаю по-другому: возьму i3-i1 и буду сравнивать с нулем. Но хотелось бы разобраться, что за бл?*:!во-то твориться...

i1="39" строковый
i3=71 числовой
в отладчике все видно
отсюда и не складушки
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038895
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,

проблему вот осюда
Dim i, h1, h2, h3, i1, i2, i3, i4, i5, i6 As Integer
все переменные кроме i6 имеют тип вариант
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038898
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,

Dim i1 As Integer
Dim i2 As Integer
Dim i3 As Integer
Dim i4 As Integer
Dim i5 As Integer
Dim i6 As Integer
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038901
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar
ROI
Beliar,

А с чего вы решили чё переменные Integer


Объявлены как интегер лично моими руками

Это вам только кажется (ноги то же участвовали но не голова)
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038906
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI,
вот в первый раз слышу, что при такой записи только последняя объявляется как положено а ведь уже туеву хучу проектов сдал в производство за 11 лет))) слов нет
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038907
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI,
Спасибо огромное!
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038912
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
но это отвратительно. В одном модуле бывает нужно объявить до 40-50 переменных разного типа. И каждой персонально прописывать тип???
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038916
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar
но это отвратительно. В одном модуле бывает нужно объявить до 40-50 переменных разного типа. И каждой персонально прописывать тип???

Да, прописывать каждую, иначе переменные типа Variant
сыграют с вами злую шутку (вы это уже почувствовали)
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038919
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,

Можно через сокращения
https://docs.microsoft.com/ru-ru/office/vba/language/concepts/getting-started/declaring-variables

Dim intX%, intY%, intZ as Integer

Сокращение для типов: % – Integer; & – Long; @ – Currency; # – Double; ! – Single; $ – String
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038921
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI
ROI,

Можно через сокращения
https://docs.microsoft.com/ru-ru/office/vba/language/concepts/getting-started/declaring-variables

Dim intX%, intY%, intZ as Integer

Сокращение для типов: % – Integer; & – Long; @ – Currency; # – Double; ! – Single; $ – String

Ну это меняет дело! Еще раз спасибо!
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038923
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чуток не допонял. Допустим нужно объявить i1,i2,i3,i4,i5 как Integer. Как правильно,
так: Dim i1%, i2%, i3%, i4%, i5 as Integer
или так: Dim i%, i5 as Integer
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038925
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar
чуток не допонял. Допустим нужно объявить i1,i2,i3,i4,i5 как Integer. Как правильно,
так: Dim i1%, i2%, i3%, i4%, i5 as Integer
или так: Dim i%, i5 as Integer


Dim i1%, i2%, i3%, i4%, i5% все переменные интеджер
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038927
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar,

здесь то-же бардак
Dim dbs1, dbs2, dbs3 As Database
Dim rst1, rst2, rst3 As Recordset
Dim dat1, dat2 As Date
Dim str1, str2, str3, str4, str5 As String
Dim int1, int2, int3 As String
надо так:
Dim dbs1 As Database
Dim dbs2 As Database
Dim dbs3 As Database

для объектных переменных нет сокращений
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038934
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI, теперь понял. Перелопачу хотя бы в этой бд., пока немного)) И как это за столько лет ни разу не выстрелило?! Ладн, спасибо. Тема закрыта))
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038951
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar
но это отвратительно. В одном модуле бывает нужно объявить до 40-50 переменных разного типа. И каждой персонально прописывать тип???
Ну это разве в БД определяющей объем силуэта коня в вккуме (я безуспешно пытался понять цели которые преследуются созданием этой БД) и пришел к выводу что четкая постановка задачи отсутствует-а то глядишь и объектов бы стало на порядок меньше и кд бы значительно упростился.Если есть желание объясните для чего создается БД и какие исходные(набиваемые ручками)имеются.
Beliar
ROI, теперь понял. Перелопачу хотя бы в этой бд., пока немного)) И как это за столько лет ни разу не выстрелило?! Ладн, спасибо. Тема закрыта))
Стесняюсь спросить,но уж больно интересно, а за сколько лет и сколько создано "боевых"(рабочих и используемых) БД
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038953
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar, изучите оператор def, причем там можно выбирать сразу несколько букв типа defbool B-C
он как то не прижился в листингах, но может вам подойдет.
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038959
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beliar
но это отвратительно

Это вба. Что ты от него хотел?
...
Рейтинг: 0 / 0
интегер 71 почему-то меньше интегера 39
    #40038983
Beliar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster
Beliar
но это отвратительно
Это вба. Что ты от него хотел?
на VB6 из вижуал-студио я писал еще в универе. Там-то и объявлялись переменные через запятую. Хотя может, память подводит, но откуда-то же такая форма записи в памяти торчит.
sdku
Beliar
но это отвратительно. В одном модуле бывает нужно объявить до 40-50 переменных разного типа. И каждой персонально прописывать тип???
Ну это разве в БД определяющей объем силуэта коня в вккуме (я безуспешно пытался понять цели которые преследуются созданием этой БД) и пришел к выводу что четкая постановка задачи отсутствует-а то глядишь и объектов бы стало на порядок меньше и кд бы значительно упростился.Если есть желание объясните для чего создается БД и какие исходные(набиваемые ручками)имеются.

Это лишь фрагмент базы, я лишнее удалил, перед тем, как сжать и прикрепить к теме. Да и половина объектов временные. После окончания разработки удалю. Не знаю, зачем Вам подробности, но раз уж интересено: это прога по составлению ротационного отчета по продукции на складе. Из 1с выгружается в excel отчет по движению товара (ну в виде Нач.Ост.; Приход; Расход; Кон.Ост.). Импортируется сюда. Руками вбивается два прихода (для каждого наименования связанные записи в виде Кол-во;ДатаПроизводства;НомерПрихода). А дальше... юзер жмет всего одну кнопку и веселый VBA списывает расход начиная со старых дат, сначала из начальных остатков, затем из первого прихода, потом из второго и сохраняет, что осталось, ввиде нового отчета. Толку высматривать "силуэт коня" в нескольких косточках с одним копытом.
sdku
Стесняюсь спросить,но уж больно интересно, а за сколько лет и сколько создано "боевых"(рабочих и используемых) БД

5 в медицинском учреждении с 2008 по 2011. В те годы опыта совсем ни на грош было. И Вы, sdku, были среди тех, кто не раз помогал мне. Я то математик. Кроме акса и ВБ нихера в универе не изучалось. Потом для мелких фирм, уже и не вспомнить, сколько мелких бд-шек нацарапал. С одной, правда, возился, больше полугода, слишком много ситуативных разборов было. Здесь на кондитерке уже пятый проэкт за 2 года. Из первых 4 только один перестал использоваться за ненадобностью. Ну да, может местами рациональностью и не блещем. И у меня до сих пор Акс 2002.
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / интегер 71 почему-то меньше интегера 39
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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