Access VBA + Formularios

No se si es una pregunta muy fácil o no, pero no me sale. El tema es así, tengo un formulario, en donde tengo un cuadro de texto. A ese cuadro de texto le tengo que asignar el valor de una variable que declaro en este mismo formulario. Esa variable tiene un valor que depende de otros campos de otros formularios, pero se tilda en esa parte y no hace nada de lo siguiente. Te paso el código para que veas mejor:
Dim MiForm As Form
Set MiForm = Forms!Form_Mips
Dim MiForm2 As Form
Set MiForm2 = Forms!Form_Mips2
If MiForm2!Res81 = 1 Then v_1a = v_1a + 3
If MiForm!Res94 = 1 Then v_1a = v_1a + 3
If MiForm!Res106 = 1 Then v_1a = v_1a + 3
If MiForm!Res129 = 1 Then v_1a = v_1a + 3
If MiForm!Res151 = 1 Then v_1a = v_1a + 3
If MiForm2!Res10 = 1 Then v_1a = v_1a + 2
If MiForm!Res180 = 1 Then v_1a = v_1a + 2
If MiForm2!Res26 = 1 Then v_1a = v_1a + 1
If MiForm2!Res65 = 1 Then v_1a = v_1a + 1
If MiForm!Res149 = 1 Then v_1a = v_1a + 1
If MiForm2!Res18 = 2 Then v_1a = v_1a + 2
If MiForm2!Res57 = 2 Then v_1a = v_1a + 2
If MiForm2!Res72 = 2 Then v_1a = v_1a + 2
If MiForm!Res111 = 2 Then v_1a = v_1a + 2
If MiForm!Res122 = 2 Then v_1a = v_1a + 2
If MiForm!Res139 = 2 Then v_1a = v_1a + 2
If MiForm2!Res17 = 2 Then v_1a = v_1a + 1
If MiForm2!Res69 = 2 Then v_1a = v_1a + 1
If MiForm!Res142 = 2 Then v_1a = v_1a + 1
Me.Ctl1A = v_1a
Me.Ctl1A.Enabled = True
Lo que pasa es que ni siquiera llega al Enable, pero no se porque.

1 Respuesta

Respuesta
1
¿Amigo los datos deberías sacarlos de las tablas no de un formulario a no ser que este abierto este último . porque ademas en que registro están los datos que necesitas?
Al abrir un form o crear una instancia estarás parado en el primer registro
por eso creo que lo mejor seria buscar mejor en las tablas de los formularios
---------------------------------------------------------------------------------------------------
dim db as database
dim tabla1, tabla2 as recordset
set db= currentdb
set tabla1= db.openrecordset("nombredetabla1") 'abrimos la tabla
set tabla2= db.openrecordset("nombredetabla2") 'abrimos la tabla
tabla1.index="nombredelindice"  ' el nombre que tiene en el indice el campo de la tabla
tabla1.seek "=", numerodeindicequebusco ' se posiciona en el registro que busco
if tabla1[res81]=1 then   ' suponiendo que res81 es el nombre del campo de la tabla
v_1a = v_1a + 3
end if
Me.Ctl1A = v_1a
Me.Ctl1A.Enabled = True
tabla1.close
tabla2.close
End sub
---------------------------------------------------------------------------------------------------------------
'deberias hacer lo mismo con la tabla2 para buscar donde te posicionas y despues comparar los datos con un if y hacer la operacion que quieras en el formulario
------------------------------------------------------------------------------------------------------

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas