Enlazar dos tablas cuando se cumplen uns condiciones.
Publicado por Alberto (6 intervenciones) el 23/05/2022 20:22:28
PASAR DATOS DE UNA TABLA A OTRA SI SE CUMPLEN ALGUNAS CONDICIONES EN LA PRIMERA.
Tengo dos tablas A (Adodc4) y B (Adodc5) , En A hay dos campos, “etapa” con valores posibles 1 y 2 y otra, “situac” con valores posibles “R” y “P” y otro campo “importe”.. Lo que pretendo es que cada vez que entre un registro en la tabla A con “etapa=2” y “situac=R”, se abra la tabla B y luego el “importe” que también está en B se incremente, acumulativamente.. Este es el c´´odigo que tengo hecho:
Private Sub Acepsal_Click() 'ACEPTAR Y SALIR
Adodc4.Recordset.Update
If (Adodc4.Recordset.Fields(6).Value = "2" And Adodc4.Recordset.Fields(7).Value = "R") Then
inv1 = Adodc4.RecordsValue ' inversor PARA FILTRAR
p = Adodc4.Recordset.Fields(5).Value 'plataforma PARA FILTRAR
impo = Adodc4.Recordset.Fields(7).Value ' para actualizar
fech = Adodc4.Recordset.Fields(2).Value 'para actualizar
MsgBox " Plataforma " & p 'Adodc4.Recordset.Fields(5).Value 'Plataforma
MsgBox "Inversor " & inv1
MsgBox "Importe " & impo
MsgBox "fechall " & fech
Adodc5.Recordset.Open "SELECT * FROM resugral WHERE (inv = 'inv1' ) AND (plataforma = 'p') ", Conn, adOpenStatic, adLockPessimistic
End If
Adodc5.Recordset.Update
No me permite abrir la segunda tabla y aparece en amarillo la orden que he puesto en negrita y recibo el mensaje:
Error 91 en tiempo de ejecución. Variable de tipo Object o la variable de bloque with no está establecida.
¿Qué estoy haciendo mal? Llevo unos días dándole vueltas al asunto y no consigo solucionarlo. Muchas gracias.
Tengo dos tablas A (Adodc4) y B (Adodc5) , En A hay dos campos, “etapa” con valores posibles 1 y 2 y otra, “situac” con valores posibles “R” y “P” y otro campo “importe”.. Lo que pretendo es que cada vez que entre un registro en la tabla A con “etapa=2” y “situac=R”, se abra la tabla B y luego el “importe” que también está en B se incremente, acumulativamente.. Este es el c´´odigo que tengo hecho:
Private Sub Acepsal_Click() 'ACEPTAR Y SALIR
Adodc4.Recordset.Update
If (Adodc4.Recordset.Fields(6).Value = "2" And Adodc4.Recordset.Fields(7).Value = "R") Then
inv1 = Adodc4.RecordsValue ' inversor PARA FILTRAR
p = Adodc4.Recordset.Fields(5).Value 'plataforma PARA FILTRAR
impo = Adodc4.Recordset.Fields(7).Value ' para actualizar
fech = Adodc4.Recordset.Fields(2).Value 'para actualizar
MsgBox " Plataforma " & p 'Adodc4.Recordset.Fields(5).Value 'Plataforma
MsgBox "Inversor " & inv1
MsgBox "Importe " & impo
MsgBox "fechall " & fech
Adodc5.Recordset.Open "SELECT * FROM resugral WHERE (inv = 'inv1' ) AND (plataforma = 'p') ", Conn, adOpenStatic, adLockPessimistic
End If
Adodc5.Recordset.Update
No me permite abrir la segunda tabla y aparece en amarillo la orden que he puesto en negrita y recibo el mensaje:
Error 91 en tiempo de ejecución. Variable de tipo Object o la variable de bloque with no está establecida.
¿Qué estoy haciendo mal? Llevo unos días dándole vueltas al asunto y no consigo solucionarlo. Muchas gracias.
Valora esta pregunta
0