powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глобальные переменные
25 сообщений из 100, страница 3 из 4
Глобальные переменные
    #32216122
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по-моему, хранить эти переменные в таблице из одной строки-извращение.
Во-первых - не красиво и смотреть неудобно - длинная такая глиста. Во вторых, если надо добавить новую переменную, надо добавлять новое поле, что, по моему, очень плохо.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216123
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2wara
Ну, в общем, да. Если в таблице, то, как справедливо сказал Лох, ее придется каждый раз открывать, а не хранить в переменной, иначе оная переменная сама станет глобальной и к тому же объектной. Даже если хранить их скажем, в списке, а не в таблице, то каждая из функций должна сначала найти нужную строку. А в случае с полями в форме, работа по поиску нужного поля полностью лежит на самом Аксесе.

Кроме того, процедура ДобавитьПеременную() я включу в состав ИзменитьПеременную().
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216129
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А для чего Вам бешеная скорость операций с эими переменными, если не секрет. У меня они используютя обычно для "разветвления вариантов" в интерфейсе, и никаких требований к скорости нет...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216134
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять же, а если они вдруг попадают в запрос или в цикл?
И вообще, хуже не будет, если они будут работать по возможности быстрее.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216137
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а извращение с формой открытой в конструкторе лучше?
или просто так лишнюю форму держать открытой это хорошо?
сколько у тебя этих переменных?


если придумаешь что-то получше поделись с нами результатом
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216140
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GEO
Ну и на каком варианте Вы остановились?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216146
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТатьянаТ,
Я совершенно не хотел Вас обидеть, просто я имел в виду, что лично мне этот вариант не по душе. Хотя это дело вкуса...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216150
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Б-г мой,развели дискуссию на 3 листа. Geo,кого ты хочешь обмануть?Сам себя?
Прямо как в том анекдоте:
"А я милиционера обманул.Спрятал,но не перестал..."
Обрабатывай ошибки,не используй глобальные переменные-и проживешь долго и счастливо. Чего и всем желаю.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216153
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) а я и не думала обижаться
2) советы вещь хорошая, но реально на самом деле мы не знаем всех нюансов проэкта
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216157
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ТатьянаТ
> а извращение с формой открытой в конструкторе лучше?
не лучше, но, на мой взгляд, будет работать быстрее.

> или просто так лишнюю форму держать открытой это хорошо?
совсем плохо, ну и что? Она скрыта, т.е. открылась с помощью DoCmd.Openform ... acHidden, а пункт меню "Окно-отобразить" отсутствует.

> сколько у тебя этих переменных?
Не знаю и знать не хочу, но, думаю, меньше, чем предел кол-ва полей в форме или таблице.

2wara
Я еще дома сейчас все это маленьго обмозгую, потом скажу. Хочется переменные, которые возможно хранить все-таки в памяти, а при их обнулении восстанавливать их из сохраненного вида, как выше говорил Владимир Саныч, Senin Viktor и пр. М.б. при чтении буду проверять переменную в памяти (скажем, в массиве), если она пуста, делать восстановление из формы или таблицы, а при записи класть новое значение и в память, и в "хранилище". Т.к. запись происходит значительно реже, чем чтение, то будет, наверное, нормально.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216162
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2VIG
:)) Вот тебе и раз. Докатились. "Не используй глобальные переменные". Эту рекомендацию еще и в ФАК и в мелкопрог - "Access не имеет средств для работы с глобальными переменными".
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216164
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТатьянаТ,
Ну да, вот только вопрос о том, где же все-таки грамотно держать эти глобальные переменные (или програмно изменяемые константы?) так и остался открытым.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216167
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A кто такой Аксесс, я не знаю никакого Аксесса... (Б.Гейт)
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216236
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо: Если что-то нужно для долгого хранения - в течении всего сеанса или т.п. - ползуйся временной таблой. Оно и запросы строить легче. А если что-то надо быстро передать в обработчик и там, не отходя от кассы, наобрабатываться вдребезги, - то тут всякий раз в таблицу лазить незачем, и переменная не повредит... но вот тут-то можно и нужно тщательно обработчики заточить. Мест таких немного. Тогда соглашение компактного использования переменной - "передались, шустро попользовали и не помним, что такие есть" - гарантирует от неактуальных данных. (при наличии именно в этих местах всех обработчиков)

Кстати, если хранить некие данные в свойствах (форм), а сами формы открывать как экземпляры, то сбрасывание их переменных (в описвающих модулях) приведет к закрытию этих форм. Т.ч. попользоваться "неверными" свойствами умерших с ними форм не удастся. Следовательно:
___
Идея: Можно к примеру так заставку открыть (экземпляром). Как нет заставки - так нет и всех ее свойств. Действительно глобальной объявить переменную этой "заставки". Как она схлопнется - все обращения к прочим "глобальным" - т.е. в этом случае свойствам (или пабликам) "заставки" будут давать ашипку. Думается. (типа err=91 "Объектная переменная или переменная блока With не задана"). ...Остальные формы можно открывать "классически" (если ломает, или приложение старое/стандартное). Вот вам и "грамотное" расположение переменных.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216256
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обрабатывай ошибки,не используй глобальные переменные-и проживешь долго и счастливо. Чего и всем желаю
Не могу не согласиться.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216295
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216296
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри... дубль два...
Драсте... Какие интересные темы до трех страниц взлетают, пока меня нет :(

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

Примечание: под термином "проект" подразумевается не adp-проект, а VBA-проект...

Кстати... Надо статейку am-у забацать :)
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216303
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. При хранении переменных в полях формы:
а) все значения будут строковыми, т.к. и DefaultValue, и Tag - строковые.
б) это будет работать только для mdb, что меня, в принципе, устраивает, а общественность - ?
2. Чтение содержимого поля формы занимает примерно вдвое меньше времени, чем пробежаться по 100 строкам массива 2х400, т.е. хранить переменные в памяти бессмысленно.
3. Если пользоваться таблицей или списком в качестве хранилища, то пп. 1б и 2 теряют смысл. А если использовать вариант, предложенный ТатьянойТ, то и п. 1а.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216305
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Нуф-Нуф
Я б на тебе женился! :))
Блин, а ведь я уже все почти написал, млин. :) Сегодня уже делать ничего не буду, а завтра попробую по-твоему.
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216308
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Нуф.
Пробовать все равно не буду, а не думать не могу.
А ента md? в панели задачь или еще где видна не будет?
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216316
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гео, единственное, где она будет видна, так это в VBA-проводнике (где перечисляются все модули, модули классов и т.п.). Т.е. она (БД) будет светиться там как проект с присвоенным ему тобой именем, при этом из самой рабочей БД ничего поменять в присоединенной БД будет невозможно. Вернее возможно, но сохранить внесенные в присоединенную БД изменения не получится. Только открывать специально (отдельно) эту библиотечную БД и редактировать... Еее можно сделать как mdb, так и mde... На вкус...

И Гео, это... Давай дождемся мнения общественности... А тогда уже посмотрим... Может я и соглашсь (на счет женился)
//за%бало все чёта... хочет поменять цвет волос, работу, пол и место проживания... А московская область это есть хорошо
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216326
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
често говоря всё это (глобальные переменные: пол, место жительства,...)
конечно хорошо но за всю свою практику ни разу такого не требовалось.

обычно при отладке куска до которого нужно сделать кучу действий - вылетает ну очень обидно. а глобальные переменные хранить не было нужды
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216346
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нда... Какая скупая реакция All на возможное решение животрепательной-3-х страничной темы :)

>често говоря всё это (глобальные переменные: пол, место жительства,...) конечно хорошо но за всю свою практику ни разу такого не требовалось.

Вадя, ну если честно говоря, то у меня, как и у большинства здесь высказавшихся, во всех процедурах и функциях обработчики стоят. А там где не стоят обработчики ошибок (специально, для генерации ошибки в вызвавшем коде) стоят комментарии, типа обработчик не добавлен сознательно...

И тем не менее, топик всего лишь за ПОЛ-ДНЯ вырос до ТРЕХ страниц! Это говорит об интересе народа к теме...

Вообщем-то я предпологал, что реакция Гео будет богатой, а реакция All - скупой... Ну не вызывает мой ник (или я сам) почему-то уважения, в чём сегодня еще раз убедился в соседнем топике, поэтому на похвалы или присуждение енотов со стороны All не надеялся, да и не нуждался, ибо человек, которому по ряду причин (правильных или ошибочных) было нужно именно это решение я помог, как смог. Всё остальное - ерунда...
Хотя, парочку енотов я сам себе пририсую на мониторке :) //остался доволен собой...
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216351
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нуф-Нуф>Нда... Какая скупая реакция All на возможное решение животрепательной-3-х страничной темы :)
----------

Горько!...Горько!...Горько!
...
Рейтинг: 0 / 0
Глобальные переменные
    #32216352
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нуф, я жениться на тебе не буду (религия не позволяет), но енота тебе нарисую. Размером с кабана
Хорошее у тебя решение. Рву волосы (в том числе и на голове). Как мне самому этакая идея в голову не пришла...

Адын только минус укажу (чтоб ты не переусердствовал в рисовании енотов себе на мониторе )
С подключенными через ссылки аксесовские библиотеки усложняется сопровождение програмного продухта. Если таблички можно переприсоединить (и даже юзеру такую возможность дать), то при изменении пути к аксесовской базе придется перекомпилять приложение. А вот на это я уже пойти не могу

З.Ы. А на соседний топик можешь наплевать. Как тебе в еще одном соседнем топике сказали - надо сразу на хуй посылать, а не обиды разводить. Это каб из себя обиженного умеет корчить, а у тебя это плохо получается
И вообще радуйся. Типа ты умеешь не только читать, но и думать. А чудак из соседнего топика не умеете не только думать, но и читать (то что ему русским по белому написали).
...
Рейтинг: 0 / 0
25 сообщений из 100, страница 3 из 4
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Глобальные переменные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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