如何:使用基于两个用户输入和两个字段的计算的高级访问查询
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) )
我想 运行 访问 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) )