<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Script autonumber in ArcPad 10 in ArcPad Questions</title>
    <link>https://community.esri.com/t5/arcpad-questions/script-autonumber-in-arcpad-10/m-p/730235#M5280</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I don't know what your exact problem is, but don't cuss the AXF yet. Use the power of SQL that it wields! I would change your function to something like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
Function ReturnNextID(tbl, strFieldName)&amp;nbsp; 'tbl = tblName/layerName
Dim intMax
Dim ds
Dim query
Dim qRows
Set ds = Map.Layers("CityTrees").DataSource&amp;nbsp; 'Assuming layerName = CityTrees
query = "SELECT max(" &amp;amp; strFieldName &amp;amp; ") FROM " &amp;amp; tbl
Set qRows = ds.execute(query)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Execute Query
qrows.movefirst&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Read results
intMax = qRows.fields(1).value
ReturnNextID = intMax + 1
End Function&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 07:10:33 GMT</pubDate>
    <dc:creator>JasonTipton</dc:creator>
    <dc:date>2021-12-12T07:10:33Z</dc:date>
    <item>
      <title>Script autonumber in ArcPad 10</title>
      <link>https://community.esri.com/t5/arcpad-questions/script-autonumber-in-arcpad-10/m-p/730234#M5279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have an autonumber script that worked fine in ArcPad 7 with shapefiles. Now I am trying to get this script to work in ArcPad 10 wihtin an AXF. As you allready can imagine it gives an error, otherwise I would not create a new thread ;).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The script I am trying to use:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Option Explicit&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sub autonumber&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 'Do any form initialization in this sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Dim objEFPageOneControls, objEditForm&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set objEditForm = ThisEvent.Object&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set objEFPageOneControls = objEditForm.Pages("form").Controls&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 'Initialization for form in any mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 'Disable the Tree ID edit box&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; objEFPageOneControls("txtElmId").Enabled = False&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 'Initialization for form when adding new records&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; If objEditForm.Mode = 3 Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 'Initialize DATE to current date objEFPageOneControls("dtpDate").Value = Now&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 'Get the City Trees layer's recordset (to pass into the ReturnNextID function)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Dim objCityTreesRS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set objCityTreesRS = Layer.Records&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 'Update the Tree ID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; objEFPageOneControls("txtElmID").Value = ReturnNextID (objCityTreesRS, "ElmID")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; 'Free objects Set objEFPageOneControls = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set objEditForm = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set objCityTreesRS = Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Function ReturnNextID (objRS, strFieldName)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim intMax&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; 'Get the first record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; objRS.MoveFirst&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; 'Initialize the max value to the first record&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; intMax = CInt(objRS.Fields(strFieldName).Value)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; 'Loop through the records, updating the max value if necessary&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Dim intCurrVal&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; While Not objRS.EOF&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intCurrVal = CInt(objRS.Fields(strFieldName).Value)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (intCurrVal &amp;gt; intMax) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; intMax = intCurrVal&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objRS.MoveNext&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Wend&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ReturnNextID = intMax + 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End Function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It gives an script error 800A000D&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I really like to get this to work under 10. For many applications an own auto numbering is needed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Kind regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Lucien&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Apr 2011 08:31:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcpad-questions/script-autonumber-in-arcpad-10/m-p/730234#M5279</guid>
      <dc:creator>LucienDavids</dc:creator>
      <dc:date>2011-04-06T08:31:37Z</dc:date>
    </item>
    <item>
      <title>Re: Script autonumber in ArcPad 10</title>
      <link>https://community.esri.com/t5/arcpad-questions/script-autonumber-in-arcpad-10/m-p/730235#M5280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I don't know what your exact problem is, but don't cuss the AXF yet. Use the power of SQL that it wields! I would change your function to something like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
Function ReturnNextID(tbl, strFieldName)&amp;nbsp; 'tbl = tblName/layerName
Dim intMax
Dim ds
Dim query
Dim qRows
Set ds = Map.Layers("CityTrees").DataSource&amp;nbsp; 'Assuming layerName = CityTrees
query = "SELECT max(" &amp;amp; strFieldName &amp;amp; ") FROM " &amp;amp; tbl
Set qRows = ds.execute(query)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Execute Query
qrows.movefirst&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Read results
intMax = qRows.fields(1).value
ReturnNextID = intMax + 1
End Function&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 07:10:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcpad-questions/script-autonumber-in-arcpad-10/m-p/730235#M5280</guid>
      <dc:creator>JasonTipton</dc:creator>
      <dc:date>2021-12-12T07:10:33Z</dc:date>
    </item>
  </channel>
</rss>

