En el siguiente código falla al llegar a lo marcado en azul cuando ya ha hecho lo mismo con otras tablas en dos lineas anteriores:

Sub ingredientes()
DoCmd.SetWarnings False
DoCmd.RunSQL "Delete * from ResumenIngedientes;"
DoCmd.OpenQuery ("CrearIngedientesDeRecetasSeleccionadas")
DoCmd.OpenQuery ("CrearRecetasvsIngredientes")


DoCmd.SetWarnings True


' CREACION DE LA CONEXION
Call ConexionBaseLocal
'CREA la referencia al conjunto de registros y configura propiedades
'ABRE UN CONJUNTO DE REGISTROS Y VISUALIZA UNO


Set rsIngedientesDeRecetasSeleccionadas = New ADODB.Recordset
rsIngedientesDeRecetasSeleccionadas.Open "IngedientesDeRecetasSeleccionadas", conn, adOpenDynamic, adLockOptimistic, adCmdTable


Set rsResumenIngedientes = New ADODB.Recordset
rsResumenIngedientes.Open "ResumenIngedientes", conn, adOpenDynamic, adLockOptimistic, adCmdTable


Set rsRecetasvsIngredientes = New ADODB.Recordset
rsRecetasvsIngredientes.Open "RecetasVsIngredientes", conn, adOpenDynamic, adLockOptimistic, adCmdTable ' ERROR DE COMPILACION dice que no se encontro el metodo o el dato miembro
rsRecetasvsIngredientes.Delete


rsIngedientesDeRecetasSeleccionadas.MoveFirst
NºCampos = rsIngedientesDeRecetasSeleccionadas.Fields.Count
Debug.Print "NºCampos"; NºCampos ' Campo que corresponde


Do Until rsIngedientesDeRecetasSeleccionadas.EOF
varx = 2
Do Until varx >= NºCampos - 2 ' Hay 2 Campos sin ingredientes

If rsIngedientesDeRecetasSeleccionadas.Fields(varx + 1).Value > 0 Then
rsResumenIngedientes.AddNew
rsResumenIngedientes.Fields(0) = rsIngedientesDeRecetasSeleccionadas.Fields(varx).V alue
rsResumenIngedientes.Fields(1) = rsIngedientesDeRecetasSeleccionadas.Fields(varx + 1).Value
rsResumenIngedientes.Update
rsRecetasvsIngredientes.AddNew
rsRecetasvsIngredientes.Fields(0) = rsIngedientesDeRecetasSeleccionadas.Fields(1).Valu e
rsRecetasvsIngredientes.Fields(1) = rsIngedientesDeRecetasSeleccionadas.Fields(varx).V alue
rsRecetasvsIngredientes.Update


Debug.Print rsIngedientesDeRecetasSeleccionadas.Fields(varx).V alue; " "; rsIngedientesDeRecetasSeleccionadas.Fields(varx + 1).Value; " "; rsRecetasvsIngredientes.Fields(0); " "; rsIngedientesDeRecetasSeleccionadas.Fields(varx).V alue; " ";

End If
varx = varx + 2


Loop

rsIngedientesDeRecetasSeleccionadas.MoveNext
Loop



cerrar:
Debug.Print NºCampos
Debug.Print Err.Description
rsIngedientesDeRecetasSeleccionadas.Close
conn.Close
DoCmd.SetWarnings False
DoCmd.OpenQuery ("CrearListaDeLaCompra")
DoCmd.SetWarnings True


End Sub