Wow! It sounds like you want to evaluate every potential combination. If a combination has a variance of 5%, then you want to see it. If that is what you want, you will need to evaluate zillions of combinations. It will not be easy conceptually, and it will require alot of processing time.
However, you can do it. Consider this table called "myTable1":
ID value
1 100
2 101
3 200
4 201
5 0
You can put a table into a query twice. Then you can display every potential matchup of field values. In the same query, you can screen out records with zero in the value field (you should screen them out because we don't want to divide by them). This query, called Q_1, does that:
SELECT myTable1!value AS a,
myTable1_1!value AS b
FROM myTable1, myTable1 AS myTable1_1
WHERE ((([myTable1]![value])<>0) AND (([myTable1_1]![value])<>0));
You then need another query. The next query calculates the differences, and selects the records with porportionately large differences:
SELECT
Q_1.a,
Q_1.b,
Abs([a]-) AS c,
[c]/[a] AS d,
[c]/ AS e
FROM Q_1
WHERE ((([c]/[a])>=1/20)) OR ((([c]/)>=1/20));
This last query may not be perfect. The where clause may need some work...perhaps the other readers can comment on it. However, I think that I have illustrated how to handle the problem in general terms.