2014-10-18 40 views
0

我有一個包含Suburbs及其地理代碼的表。在查詢標準中添加/減去兩個字段

我有一個查詢,從+0.5到-0.5長和緯度範圍內的所有其他郊區從一個窗體返回選定的郊區。

查詢中的條件,分別爲Long和Lat字段;

[窗體]![frmFindMeetingLocations]![龍] -0.5 [窗體]![frmFindMeetingLocations]![龍] +0.5

[表格]之間![frmFindMeetingLocations]![緯度之間] -0.5和 [Forms]![frmFindMeetingLocations]![Lat] +0.0

這很好用。我一直在試圖做的是將'0.5'從靜態值改爲對窗體上組合框的引用(給出0.01,0.05,0.5等的選項)。我已經嘗試了下面和各種其他組合的括號等,但它似乎並沒有工作。 !

之間 [表格] [frmFindMeetingLocations] [緯度] - [表格] [frmFindMeetingLocations] [cmbSubDistance] 而 [表格] [frmFindMeetingLocations] [緯度] + [窗體]!!!!! [frmFindMeetingLocations]![cmbSubDistance]

我把一個文本框的形式和它引用到組合,似乎拿起價值的罰款。所以它似乎是我加入和減去兩個引用的方式?

另一方面,我顯然使用了一種非常簡單的方法找到附近的郊區。我知道,雖然距離的緯度保持不變,但長時間變化 - 這只是維多利亞澳大利亞,所以這樣做有什麼缺點嗎?

回答

0

修好了!這一切都歸結爲用Val函數包含第二條語句(指的是距離 - '0.5')。我不完全確定這是爲什麼起作用,但確實如此。

所以現在我的SQL看起來像;

SELECT tblStatePostCodeLongLat.Suburb, tblStatePostCodeLongLat.StateCode, tblStatePostCodeLongLat.Long, tblStatePostCodeLongLat.Lat, tblStatePostCodeLongLat.Accuracy 
FROM tblStatePostCodeLongLat 
WHERE (((tblStatePostCodeLongLat.StateCode)="VIC") AND ((tblStatePostCodeLongLat.Long) Between ([Forms]![frmFindMeetingLocations]![Long]-Val([Forms]![frmFindMeetingLocations]![txtNearSubDistance])) And ([Forms]![frmFindMeetingLocations]![Long]+Val([forms]![frmFindMeetingLocations]![txtNearSubDistance]))) AND ((tblStatePostCodeLongLat.Lat) Between ([Forms]![frmFindMeetingLocations]![Lat]-Val([forms]![frmFindMeetingLocations]![txtNearSubDistance])) And ([Forms]![frmFindMeetingLocations]![Lat]+Val([forms]![frmFindMeetingLocations]![txtNearSubDistance])))) 
ORDER BY tblStatePostCodeLongLat.Suburb; 

感謝上帝,因爲 - 我正在變得糟糕!希望解決方案能幫助某人。

乾杯