Actualizar Campo SI/NO en una tabla maestra desde otra tabla
Publicado por miki (1 intervención) el 27/05/2022 09:07:45
Hola,
Estoy intentando crear un recordset pero no se muy bien como programarlo en VBA. Tengo dos tablas. La primera tabla es una tabla con importes:
TABLA_IMPORTES
a 100 80 20
b 40 30 10
c 10 10 0
La cuarta columna es la diferencia de la primera y la segunda.
La segunda tabla es una TABLA_MAESTRA_VALIDACION:
t tabla de validación
tabla2 campo si/No si
Lo que quiero es recorrer la primera tabla y que cuando la diferencia entre la segunda y la tercera columna sea 0 en todas las filas me deje el campo SI/NO de la tabla MAESTRA_VALIDACION a TRUE y en caso de que la diferencia en alguna de las filas de la cuarta columna sea <>0 entonces me siga poniendo en la tabla MAESTRA_VALIDACION A FALSE.
He intentado crear el codigo en VBA generando un recordset pero no tengo mucha idea de como programarlo.
Option Compare Database
Option Explicit
Sub conecta_actual()
Dim miconexion As New Connection
Set miconexion = CurrentProject.Connection
Dim instruccion As String
Dim instruccion2 As String
instruccion = "SELECT * FROM TABLA_IMPORTES"
instruccion2 = "SELECT * FROM TABLA_MAESTRA_VALIDACION"
Dim mirecordset As New Recordset
mirecordset.Open instruccion, instruccion2, miconexion
Do Until mirecordset.EOF
If mirecordset.dif = 0 Then
mirecordset.MoveNext ELSE
Update INSTRUCCION2 SET cumple(si/no) = FALSE where indice=12
Loop
mirecordset.Close
Set mirecordset = Nothing
miconexion.Close
Set miconexion = Nothing
End Sub
Si alguien me puede ayudar. Muchas gracias de antemano.
Estoy intentando crear un recordset pero no se muy bien como programarlo en VBA. Tengo dos tablas. La primera tabla es una tabla con importes:
TABLA_IMPORTES
a 100 80 20
b 40 30 10
c 10 10 0
La cuarta columna es la diferencia de la primera y la segunda.
La segunda tabla es una TABLA_MAESTRA_VALIDACION:
t tabla de validación
tabla2 campo si/No si
Lo que quiero es recorrer la primera tabla y que cuando la diferencia entre la segunda y la tercera columna sea 0 en todas las filas me deje el campo SI/NO de la tabla MAESTRA_VALIDACION a TRUE y en caso de que la diferencia en alguna de las filas de la cuarta columna sea <>0 entonces me siga poniendo en la tabla MAESTRA_VALIDACION A FALSE.
He intentado crear el codigo en VBA generando un recordset pero no tengo mucha idea de como programarlo.
Option Compare Database
Option Explicit
Sub conecta_actual()
Dim miconexion As New Connection
Set miconexion = CurrentProject.Connection
Dim instruccion As String
Dim instruccion2 As String
instruccion = "SELECT * FROM TABLA_IMPORTES"
instruccion2 = "SELECT * FROM TABLA_MAESTRA_VALIDACION"
Dim mirecordset As New Recordset
mirecordset.Open instruccion, instruccion2, miconexion
Do Until mirecordset.EOF
If mirecordset.dif = 0 Then
mirecordset.MoveNext ELSE
Update INSTRUCCION2 SET cumple(si/no) = FALSE where indice=12
Loop
mirecordset.Close
Set mirecordset = Nothing
miconexion.Close
Set miconexion = Nothing
End Sub
Si alguien me puede ayudar. Muchas gracias de antemano.
Valora esta pregunta
0