Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 横向/远距离比较_Ms Access_Vba - Fatal编程技术网

Ms access 横向/远距离比较

Ms access 横向/远距离比较,ms-access,vba,Ms Access,Vba,我在想怎么做时遇到了一些麻烦。我拥有的是一个访问表上160K个位置的列表,每个位置都有lat和long坐标。我试图找出如何创建一个列,将列表中的一个项目与其他项目进行比较,以返回以英里为单位的最近距离 我已经想出了如何使用哈弗森公式进行1比1的比较,但我在尝试自动化其余部分时迷失了方向 这基本上就是我想尝试制作的 Loc_ID Loc_Lat Loc_Long Min_Miles_Away 1 33.537214 -81.687378 674.48 4

我在想怎么做时遇到了一些麻烦。我拥有的是一个访问表上160K个位置的列表,每个位置都有lat和long坐标。我试图找出如何创建一个列,将列表中的一个项目与其他项目进行比较,以返回以英里为单位的最近距离

我已经想出了如何使用哈弗森公式进行1比1的比较,但我在尝试自动化其余部分时迷失了方向

这基本上就是我想尝试制作的

Loc_ID Loc_Lat Loc_Long Min_Miles_Away 1 33.537214 -81.687378 674.48 4 42.16584 -87.845117 11.83 5 41.99558 -87.869057 11.83 6 41.85325 -89.486883 83.75 Loc_ID Loc_Lat Loc_Long Min_Miles_ 1 33.537214 -81.687378 674.48 4 42.16584 -87.845117 11.83 5 41.99558 -87.869057 11.83 6 41.85325 -89.486883 83.75 表格说明…
位置1距离位置5最近(相距674.48英里)
位置4离位置5最近(相距11.83英里)
位置5距离位置4最近(相距11.83英里)
位置6距离位置5最近(相距83.75英里)


任何帮助都将不胜感激。

您可以进行笛卡尔连接,即没有where的连接。它将把每一行与每一行连接起来。您可以通过简单地将SQL写入查询的SQL视图来实现这一点

SELECT * FROM locations a, locations b 挑选* 地点a、地点b 接下来,您可以计算该表上的距离(我想您已经有了该代码,所以只需插入函数)。 最后,您可以按分钟分组

SELECT loc_id, loc_lat, loc_long, MIN(calulated_distance) as min_miles_away FROM myCalculatedQuery 选择loc_id、loc_lat、loc_long、MIN(计算距离)作为最小距离 从myCalculatedQuery