Двухэтапная аутентификация не поддерживается с режимом IIS7 Integrated. Аутентификация теперь построена из модулей, так а не аутентификация выполнения IIS, сопровождаемая asp.net, выполняющим аутентификацию, все это происходит одновременно.
Вы можете также:
Наилучший подход в этих случаях - не пытаться передать кучу переменных. Это слишком много кода и негибкость. Например, если вам нужно передать два значения, что произойдет с годами, когда это требование вырастет до 5 значений? Попытка сохранить и передать целый набор значений - это слишком много работы по кодированию.
Имейте в виду, что каждая форма в ms-access на самом деле является объектом класса, которым вы можете управлять в коде. Итак, используйте здесь объектный подход, и вы обнаружите, что не только пишете меньше кода, но и ваш код будет более чистым, более модульным, нет необходимости в глобальных переменных, и код, который вы пишете, часто можно повторно использовать в разных формах.
Вот как:
В общем, когда одна форма запускает другую форму во второй форме в событиях открытия форм (фактически, вы можете даже использовать до события загрузки) вы можете выбрать ссылку на ПРЕДЫДУЩИЙ объект формы. Другими словами, здесь вы можете использовать объектный подход.
На уровне модуля форм для формы я объявляю объект формы как:
Option Compare Database
Option Explicit
dim frmPrevious as form
Затем, в событии загрузки формы, мы идем:
Set frmPrevious = Screen.ActiveForm
Теперь , любой код в нашей форме может СВОБОДНО использовать код, события и даже переменные, объявленные как общедоступные из этой предыдущей формы в коде.
Итак, если вы хотите принудительно выполнить запись на диск предыдущей формы и повторно загрузить данные.
frmPrevious.Refresh
Если вы хотите установить значение идентификатора, выполните:
frmPrevious!ID = some value
И обратите внимание, что вы даже можете объявить предыдущую форму как ПУБЛИЧНУЮ переменную для этой формы, и, таким образом, если у вас две глубокие формы, вы можете пойти:
frmPrevious.frmPrevious!ID = some value
Итак, просто объявите объект формы в КАЖДОМ модуле кода форм (или, по крайней мере, в тех, где вам нужно использовать значения в коде). Вышеупомянутое означает, что любой код имеет готовую ссылку на предыдущий объект формы. Функции, объявленные как общедоступные в форме, станут МЕТОДОМ формы, и их можно будет запускать как:
frmPrevious.MyCustomRefresh
или даже такие вещи, как какой-то параметр, чтобы заставить предыдущую форму генерировать и устанавливать номер счета:
frmPrevous.SetInvoice
или
frmPrevious.SetProjectStatusOn
Таким образом, вы можете не только перетасовывать значения и данные туда-сюда, но и легко выполнять функции и функции, которые вы встраиваете в код для предыдущей формы.
Фактически, в качестве стандарта кодирования БОЛЬШИНСТВО моих форм имеет общедоступную функцию, называемую MyRefresh
.
Обратите внимание, что прелесть этого подхода в том, что вы можете читать + использовать + устанавливать значения из предыдущей формы. Это позволяет вашему коду не только получать значения, но также установите значения в предыдущей форме. Так что этот подход двунаправлен. Вы можете перемещать данные и значения между формами. Другим преимуществом здесь является то, что вы НЕ ограничены только переменными, но можете использовать поля, управляющие значения (события, свойства) и т. Д.
Этот подход означает, что большая часть предыдущей формы теперь у вас под рукой.
Так что не надо ' Я пытаюсь передать кучу переменных. Передайте ссылку на форму, и у вас под рукой будет готовый готовый объект, который упрощает задачу кодирования такого типа.
Этот подход означает, что большая часть предыдущей формы теперь у вас под рукой.
Так что не пытайтесь передать целую кучу переменных. Передайте ссылку на форму, и у вас под рукой будет готовый готовый объект, который упрощает этот тип кодирования.
Этот подход означает, что большая часть предыдущей формы теперь у вас под рукой.
Так что не пытайтесь передать целую кучу переменных. Передайте ссылку на форму, и у вас под рукой будет готовый готовый объект, который упрощает этот тип кодирования.
Обычный способ - ссылаться на текстовые поля в исходной форме из всплывающей формы, например:
Forms!frmInitialForm!tripID
Forms!frmInitialForm!OrgID
Однако это жестко привязывает всплывающую форму к исходной форме, так что она не может использоваться где-либо еще в приложении.
Лучше использовать OpenArgs:
DoCmd.OpenForm "frmPopup", OpenArgs:=Me.tripID & ", " & me.OrgID
Это помещает ваши два значения в строку, которая передается во всплывающую форму. Затем вы можете проанализировать два значения из OpenArgs с помощью функции Split.
Для получения дополнительной информации о передаче параметров с помощью OpenArgs см .: http://www.fmsinc.com/free/NewTips/Access/accesstip13.asp
Это может помочь
MS Access: передача параметров из одной формы доступа в другую