Unir consulta access con otra programada en vba

Hola, tengo una duda enorme espero me puedan ayudar. Tengo una consulta algo grande en access donde me muestra los datos de varias tablas de un trabajador. La vista sql es la sig:

PARAMETERS [Número de nómina] Text ( 255 );
SELECT [11dg].No_nomina, DateDiff("yyyy",[Fecha_Nac],Date()) AS Edad, [peso]/([talla]*[talla]) AS imc, *
FROM 11dg, 12Contac_emergencia, 13heredofam, 14person_np, 15person_p, 17antecedentes_ginob, 18explo_fisica, 19vista, 20diagnostico, 21resultado, 166accidentes_lab, 16antecedentes_lab, 22hijos
WHERE ((([11dg].No_nomina)=[Número de nómina]) AND (([15person_p].No_nomina)=[Número de nómina]) AND (([12Contac_emergencia].No_nomina)=[Número de nómina]) AND (([13heredofam].No_nomina)=[Número de nómina]) AND (([14person_np].No_nomina)=[Número de nómina]) AND (([17antecedentes_ginob].No_nomina)=[Número de nómina]) AND (([18explo_fisica].No_nomina)=[Número de nómina]) AND (([19vista].No_nomina)=[Número de nómina]) AND (([20diagnostico].No_nomina)=[Número de nómina]) AND (([21resultado].No_nomina)=[Número de nómina]) AND (([166accidentes_lab].No_nomina)=[Número de nómina]) AND (([16antecedentes_lab].No_nomina)=[Número de nómina]) AND (([22hijos].No_nomina)=[Número de nómina]));

Tengo aparte otras tablas iguales pero al nombre se le agrega "archivo", es decir: 11dg_archivo, 12Contac_emergencia_archivo, etc. Donde archivo registros de trabajadores "inactivos". Ahora necesito que si se trata de un reingreso, es decir que el trabajador este tanto en las primeras tablas como en las de archivo (obviamente con nomina distinta), me muestre una consulta con los 2 registros para comparar datos. Elcodigo que tengo hasta ahora es este:

Dim consulta, nom, ap, am, nomi, c, consulta1 As String
Dim rs As Recordset
Dim db As Database
Set db = CurrentDb
DoCmd.SetWarnings False
nomi = InputBox("No. Nomina:")
consulta = "SELECT Nombre, Ap_P, Ap_M FROM 11dg WHERE No_nomina='" & nomi & "'"
Set rs = db.OpenRecordset(consulta)
nom = rs.Fields(0)
ap = rs.Fields(1)
am = rs.Fields(2)
rs.Close
db.Close
c = nom & " " & ap & " " & am
MsgBox c
Set db = CurrentDb
consulta1 = "SELECT dg11_archivo.No_nomina, Nombre, Ap_P, Ap_M, Sexo, Fecha_Nac, Edo_Civil, departamento, puesto, fcha_ingreso,rfc,imss FROM dg11_archivo,expediente_archivo WHERE Nombre='" & nom & "' and Ap_P='" & ap & "' and Ap_M='" & am & "'"
Set rs = db.OpenRecordset(consulta1)
MsgBox rs.Fields(0)
MsgBox rs.Fields(1)
MsgBox rs.Fields(2)
MsgBox rs.Fields(3)
MsgBox rs.Fields(4)
rs.Close
db.Close

Agradeceré enormemente su ayuda!

Añade tu respuesta

Haz clic para o