WedX - журнал о программировании и компьютерных науках

Как передать переменную из одной формы в другую с помощью VBA в доступе

Это в Access 2016 VBA

У меня есть форма, в которой пользователь вводит число и нажимает кнопку поиска, чтобы запустить запрос, который открывает форму для отображения найденных данных. Форма, которая показывает данные запроса, проверяет, существуют ли данные для открытия, в противном случае появится сообщение msgbox, информирующее пользователя о том, что данные не найдены!

В первой форме у меня есть еще одна кнопка (кнопка Excel), которая выполняет тот же запрос и экспортирует данные в файл Excel без открытия какой-либо другой формы.

Когда пользователь нажимает кнопку Excel, я показываю окно сообщений YN, информирующее пользователя о необходимости поиска данных перед созданием пустого файла Excel, который работает нормально; однако, если пользователь отвечает «да» и данные отсутствуют, файл Excel будет создан независимо.

Я попытался установить логическую переменную IsSearched и установить значение false и изменить значение на True, если пользователь уже нажимает на поиск, а данные существуют и запрос имеет результат. Это означает, что это значение IsSearched будет изменено после того, как результат запроса будет обнаружен или не найден. Я могу изменить IsSearched, но не могу передать его в 1-ю форму. Имея возможность передать это, мой код должен проверять, был ли выбран поиск и существуют ли данные, позволяющие пользователю создать файл Excel, и если данных нет, то пустой файл Excel не будет создан.

Надеюсь, я хорошо это объяснил. Спасибо

27.01.2021

  • Действительно зависит от того, как создаются формы. Есть много способов передать состояние и данные. 28.01.2021
  • Было бы проще создавать файл Excel только при обнаружении данных. Просто сделайте кнопку под названием «Экспорт в Excel», а затем проверьте, пусты ли данные, прежде чем делать это. 28.01.2021
  • stackoverflow.com/help/how-to-ask 28.01.2021
  • Спасибо, HackSlash, я проверю это 28.01.2021

Ответы:


1

В MS Access, если вы хотите отправить / передать значение из одной формы в другую, то это и есть ответ. Давайте возьмем пример ... вы находитесь на странице входа и вошли в систему со своими учетными данными, теперь вы находитесь в домашнюю страницу или любую целевую страницу, здесь вы хотите показать userName или использовать userId далее, На странице входа вы пишете:

UserName = resultSet (имя пользователя) TempVars (UserName) = resultSet! Username.Value

DoCmd.openForm HomePage, acNormal``, acWindowNormal, openArgs: userName

Теперь вы можете использовать эту временную переменную на своей домашней странице, например: сначала объявить переменную - Dim userName As String UserName = TempVars (UserName)

Здесь у вас есть userName.

28.01.2021
Новые материалы

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


Для любых предложений по сайту: [email protected]