Как сказал bugtussle , вы можете использовать "глобальные" переменные внутри модулей. Вот как:
Создайте модуль с именем LoginCredentials
. Внутри этого модуля вы можете объявить переменные как public
, что фактически делает их глобальными переменными. Например:
public LoggedInUserId As Integer
public IsUserLoggedIn As Boolean
Вы можете установить и получить доступ к этим переменным из других форм. Я предпочитаю всегда использовать имя модуля с именем переменной в VBA, поэтому я знаю, где объявлены глобальные переменные, например:
LoginCredentials.LoggedInUserId = 15
If LoginCredentials.IsUserLoggedIn Then
'Do Something '
End If
Разумеется, глобальные переменные сохраняются только на протяжении всего жизненного цикла приложения, поэтому, если оно выйдет из строя или если приложение существует пользователем, вы потеряете эти данные. Если вам нужны учетные данные, чтобы «жить» дольше, рассмотрите возможность сохранения данных в таблице базы данных.
Как примечание: ваш OOP-ориентированный мозг нередко немного болит при работе с VB6 / VBA. Язык просто не в состоянии полностью реализовать возможности проектирования ООП, но все же можно писать лучший код, когда вы знаете, что делаете.