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 Subpero 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 Subsu ayuda para comprender esto.
2 Respuestas
Respuesta de Crear Pagina Web
3
Respuesta de Sveinbjorn El Rojo
1