如何:使用基于两个用户输入和两个字段的计算的高级访问查询

How to: Advanced Access query with a calculation based on two user inputs and two fields

我想 运行 访问 table 上的查询。 table 有一个 X 列和一个 Y 坐标列。我希望用户能够 运行 查询,提示输入他们自己的 X 和 Y 坐标,然后查询将 return 一个新的 table 从最接近的顺序排列离用户输入的 X 和 Y 最远。这有点超出我的能力范围,非常感谢任何帮助让它工作的人。

为了更好地理解我在说什么,现有的 table 可能如下所示:

PrimaryKey----------X----------Y

--------------1----------1----------2

--------------2----------7----------9

--------------3---------26---------31

我希望查询提示用户给出 X 和 Y。例如,如果用户输入 X=8、Y=6,查询将计算点之间的距离:

sqrt((1-8)^2+(2-6)^2)=8.06

sqrt((7-8)^2+(9-6)^2)=3.16

sqrt((26-8)^2+(31-6)^2)=30.81

然后 return 基于这些数字:

PrimaryKey----------X----------Y

--------------2----------7----------9

--------------1----------1----------2

--------------3---------26---------31

您将 8 和 6 替换为用户输入,将其他数字替换为字段引用。

SQR( ((X - [User Input for X]) ^ 2) + ((Y - [User Input for Y]) ^ 2) )