Declarar variables y condicionar su valor según formulario abierto
¿Cómo puedo utilizar variables declaras en toda la aplicación de access?
He creado un modulo "declaraciones"
Con este código:
Option Compare Database Option Explicit Sub declaraciones1() 'declaracion de variables publicas que utilizaremos en la 'aplicacion Dim strfsfid As String Dim strfsftipo As String Dim strfsfalm As String Dim strfsfmov As String Dim strfsfcodigo As String Dim strfsfdescripcion As String Dim strffecha As String Dim strfid As String Dim strfsfidserie As String 'primero comprobamos que formulario esta abierto para determinar 'que valor de colocamos a las variables declaradas If CurrentProject.AllForms("frm_inventarioajustes").IsLoaded And Forms![frm_inventarioajustes]![Subformulariodetalleinvetarioajustes].[movetinv] = 2 Then strfsfid = Forms![frm_inventarioajustes]![Subformulariodetalleinvetarioajustes]![idajustedetinv] strfsftipo = Forms![frm_inventarioajustes]![Subformulariodetalleinvetarioajustes]![tipoinv] strfsfalm = Forms![frm_inventarioajustes]![Subformulariodetalleinvetarioajustes]![idalmetinv] strfsfmov = Forms![frm_inventarioajustes]![Subformulariodetalleinvetarioajustes]![movetinv] strfsfcodigo = Forms![frm_inventarioajustes]![Subformulariodetalleinvetarioajustes]![codintetinv] strfsfdescripcion = Forms![frm_inventarioajustes]![Subformulariodetalleinvetarioajustes]![descripcionetinv] strffecha = Forms![frm_inventarioajustes]![fechainv] strfid = Forms![frm_inventarioajustes]![idajusteinv] strfsfidserie = Forms![frm_inventarioajustes]![Subformulariodetalleinvetarioajustes]![idserie] End If End Sub
pero cuando ejecuto el formulario en donde llamo al formulario a otro formulario me marca error, y veo que las variables de he declarado esta vacias.
He creado un formulario en donde utilizo las variables que he declarado, esto para evitar escribir mas codigo, y cuando abro el formulario, se condiciona las variables si es el formulario "ajus..." esta abierto, en caso se sea otro formulario tendra otros valores.
este es el codigo donde las variables que declaro esta vacias:
Private Sub Form_BeforeInsert(Cancel As Integer) Me!idtxt = strfsfid Me!tipotxt = strfsftipo Me!almtxt = strfsfalm Me!movtxt = strfsfmov Me!codigotxt = strfsfcodigo Me!descripciontxt = strfsfdescripcion Me!fechatxt = strffecha Me.notxt = Nz(DMax("[no]", "[serie2]", "[id]=" & strfid), 0) + 1 End Sub Private Sub Form_Load() Call declaraciones1 If _ (IsNull(DLookup("[serie2].idcontrol", "[serie2]", "[serie2].[idcontrol]='" & stridserie & "'"))) Then DoCmd.GoToRecord , , acNewRec Me.Form.Filter = Me.idtxt Me.Form.FilterOn = True Me!idtxt = strfsfid Me!tipotxt = strfsftipo Me!almtxt = strfsfalm Me!movtxt = strfsfmov Me!codigotxt = strfsfcodigo Me!descripciontxt = strfsfdescripcion Me!fechatxt = strffecha Else Me.Form.Filter = "idcontrol LIKE '" & stridserie & "'" Me.Form.FilterOn = True End If End Sub
su ayuda para comprender esto.
Respuesta de Crear Pagina Web
3
1 respuesta más de otro experto
Respuesta de Sveinbjorn El Rojo
1