다음 스크립트를 사용하여 한 계층의 구획 및 주소 정보를 가져 와서 새로 만든 기능의 특성 테이블을 채 웁니다.ArcPad - VBscript - 자동 채우기 특성
반환 된 오류는 없지만 내가 가지고있는 문제는 잘못된 정보가 recordselect 함수의 메모리에 갇혀있는 것으로 보입니다. 아무리 장소를 지정해도 동일한 소포 번호와 주소가 부여됩니다. 아니면 실제로 IF 함수를 제대로 수행하지 않고있을 수도 있습니다.
Sub Address
Dim rsCurrentXY
Set rsCurrentXY = Map.Layers("Violations").records
rsCurrentXY.movelast
Dim objXYShape
Set objXYShape = rsCurrentXY.Fields.Shape
Dim pControls
Set pControls= Application.Map.selectionlayer.Forms("EDITFORM").Pages(“PAGE1”).Controls
Dim rsGrid
' Find corresponding map page to the valve point
Set rsGrid = Map.Layers("ACPA_parcels").records
rsGrid.movefirst
Do While Not rsGrid.eof
If rsGrid.fields.shape.Ispointin(objXYShape) Then
pControls("txtAddress").value = rsGrid.Fields("ADD1").Value
Exit Do
End If
rsGrid.Movenext
Loop
' Clean Up
Set rsCurrentXY = Nothing
Set objXYShape = Nothing
Set rsGrid = Nothing
End Sub
(필자는 똑같은 일을 할 것 "PIN"라는 또 다른 서브 루틴이있다.) 나는 사용자 지정 양식에 해당 편집 상자는 관리자에 의해 활성화 될 때 그들이라고합니다. 도움을
감사합니다, 로버트
http://forums.arcgis.com/threads/65742-Filling-in-atrributes-for-a-point-layer-from-a-underlying-polygon-layer ? p = 228353 & posted = 1 # post228353 – user1631426
http://forums.arcgis.com/threads/65742-Filling-in-atrributes-for-a-point-layer-from-a-underlying-polygon-layer?p=228353&posted = 1 # post228353 – user1631426