powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обявить массив видимый из другой формы
17 сообщений из 17, страница 1 из 1
Обявить массив видимый из другой формы
    #32330707
artemov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу объявть массив видимый из другой формы
Public num(10) - не прокатывает
Private num(10)- проходит
А надо public. Вчем нюанс?
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32330715
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глобальные переменные объявляются в модулях!
global num(10)
будет видно отовсюду.
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32330716
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Надеюсь, это не внутри процедуры?
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32330764
artemov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32330766
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... , а если надо чтобы массив был именно в форме, и чтобы видно его было из других форм, то объявить его надо так:
Public num(10)
а "видеть" так:
Forms("ИмяФормыСМассивом").num(Index)
кажется... Да! При этом форма с массивом должна быть открыта! :)
//Драсте!...
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32330767
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да, и у меня кричит. Но кричит, надо отдать должное, подробно и обстоятельно. Значит, надо этот запрет обходить. Например, так:

Private num_(10)

Public Property Get num(i As Integer) As Variant
num = num_(i)
End Property

Public Property Let num(i As Integer, ByVal vNewValue As Variant)
num_(i) = vNewValue
End Property
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32330769
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Нуф, привет тебе. Все, что ты сказал, правильно, но публичный (или глобальный) массив в форме - такого Аксесс, как оказалось, не ест.
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32330779
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, Володь. Ну подстава тогда :) Написал по общим правилам без реальной проверки...
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32330831
Фотография SiriusB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никаких проблем

в модуле обьявляете массив

Public MV(0 To 100) As Variant

Public Function MVR(i As Integer) As Variant
MVR = MV(i)
End Function

дальше работать не с елементами массива а с функцией MVR(i)

я уже об етом раз писал
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32330832
Фотография SiriusB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такая функция (массив) будет видна не только в форме, но даже внутри SQL

изменились параметры запроса

а Вы, рр-р-ас и переприсвоили переменным массива новые значения, даже не надо в SQL лазать и что-то там редактировать

и вообще, у всех моих прогах на SQL-ли создана таблица

IDsql SQL

1 select
2 select
3 insert into
и т. д.

и т. д.

только переводи в тектовую строку DlookUр- ом и используй где угодно :-)
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32331992
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 SiriusB:

Если массив уже Public, то нет никакого проку от функции.
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32332015
Фотография SiriusB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КАК ЕТО НЕТ !!!

как же Вы, уважаемый, будете "втыкать" глобальные переменные в SQL-выражение ???

ну конечно, будете рассекать строку

"Select "& MV(1)& " as B1"& MV(2) & ....

мягко скажу, непрактично, все равно что правой рукой чесать левое ухо.

А функция - она и в африке функция

можете в поле формы написать =MVR(12) и будет выдано соотвествующее значение, да и не только в форме - везде !!!
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32332017
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Про SQL - да, согласен. Но тогда как-то неэстетично. И функция, и массив оба Public, и получается, что они дублируют друг друга. Эстетичнее было бы так, как я предложил в посте от 20 ноя 03, 20:34.
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32332022
Фотография SiriusB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и что, что больше ста !!!
лишь бы кровь была густа,
говорят, любви покорны,
ВСЕ буквално возраста !!!


зато можно смело копировать SQL-выражение, хоть в строку, хоть в источник данных для формы или списка, хоть тупо вставить в запрос


ПРИ ЕТОМ НЕ НАДО ДУМАТЬ, ЧТО ПОЛЕЗУТ КАКИЕ-НИБУДЬ ГЛЮКИ

короче - автоматизация РАЗРАБОТКИ приложений
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32332076
artemov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private num_(10)

Public Property Get num(i As Integer) As Variant
num = num_(i)
End Property

Public Property Let num(i As Integer, ByVal vNewValue As Variant)
num_(i) = vNewValue
End Property

Ура работает!

такая функция (массив) будет видна не только в форме, но даже внутри SQL

Полагаю верно для БД а не для АDP(работаю в ADP)

и
Public MV(0 To 100) As Variant
обявлю в модуле все равно не видно
может надо както обратится по особому?
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32332167
Фотография SiriusB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
послал Вам живой пример

чего не сделаешь для хорошнго человека :?)
...
Рейтинг: 0 / 0
Обявить массив видимый из другой формы
    #32332186
Фотография SiriusB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сервак прислал ответ о том что такого "мыла" не существует

так что будете без живого примера

но все равно описанный мною метод работает уже много лет и очень успешно
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обявить массив видимый из другой формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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