1

When using the field calculator, how do I get data from the previous row in VBScript? In Python I'd do something like this:

for index, row in enumerate(rows,start=1):
 row[index-1] += 5

I'm using ArcGIS 9.3.1.

Let's assume I have a column [Distance] and all it's rows are 0. How do I increment every row with 5 starting at row 1. So the first row remains 0, second row'll be 5, third 10 and so on.

asked Aug 22, 2012 at 14:40

2 Answers 2

1

This script is from the Easy Calculate 5.0 Scripts by Ianko Tchoukanski

This section goes in the code block. Set the lInterval and lStart values as necessary. In this case, lInterval = 5 and lStart = 0.

Static rec As Long
Static i As Long
Dim lStart As Long
Dim lInterval As Long
'=================
'adjust start value and interval below
lStart = 0
lInterval = 5
'=================
If (i = 0) Then
 rec = lStart
Else
 rec = rec + lInterval
End If
i = i + 1

Place this in the [Field Name] = area:

rec
answered Aug 22, 2012 at 15:29
1
  • Yeah mate, this is it. I just can't get my head around VBScript, I'm really looking forward to ArcGIS 10x when all you need is Python... Commented Aug 23, 2012 at 7:47
1

I can think of a crude, but quick way of achieving the end result.

Assuming the OID (or OBJECTID) starts from 0.
Put the following code in the Pre-logic script code area.

If [OBJECTID]=0 Then 
result=0
Else
result=[OBJECTID] * 5
End If

Under "Distance=", type "result" (without the quotes).

For an OBJECTID that does not start at 0, modify the pre-logic code as follows:
Again, assuming OID starts at 1000, modify as per your data.

If [OBJECTID]-1000=0 Then 
result=0
Else
result=([OBJECTID]-1000) * 5
End If

Regards
Ujjwal

answered Aug 22, 2012 at 15:31

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.