|
POST
|
Hi Andrew, You can use the ThisEvent object to access the tableform controls. Basically use it to set the page you are on and then find all of the controls on the page: I put this on the related tables OnSetFocus event Dim objPage, objControls, objControl, i Set objPage = ThisEvent.Object Set objControls = objPage.Controls 'Create a series of variables based on the controls on the page For i = 1 To objControls.Count Console.print i & ": " & objControls(i).Name Application.UserProperties(objControls(i).Name) = objControls(i).Name Next Msgbox Application.UserProperties("lblPoleID") I hope this helps. Cheers, Gareth
... View more
02-03-2011
06:52 PM
|
0
|
0
|
1591
|
|
POST
|
Hi Saili, It is not possible to have the tye of sub menu you are requesting, however what about having a second set of tools that are only made visible or enabled after you click the specific tool? Cheers, Gareth
... View more
01-30-2011
02:36 PM
|
0
|
0
|
565
|
|
POST
|
Hi Dan, 1) There is the capability of having auto time/date field - Open the .APL in Studio, Open the edit form, double click on the date control and "untick" the aloow null values. This will make the form automatically fill the date. You cannot make it read only as when you press OK it will write to the underlying table (dbf or AXF). Why not hide the control if you don't want someone to edit it? 2) In ArcPad 10 the repeat fields button was implemented. It is on the bottom of the editform and if you press it, the values that you wrote on the form will be rememebered and the next feature that you create will have a populated form ready to go. In regard to the azimuth, is it that you want to know the direction the photo was taken and populate a field in the table or have it embedded in the image itself? I hope this a helpful start for you. Cheers, Gareth
... View more
01-30-2011
02:15 PM
|
0
|
0
|
457
|
|
POST
|
Hi guys, You can't access the Repeat attributes button directly but I have a work around for Shapefiles that you might want to try. P.s. The AXF version is coming! Now, a little background for anyone else who stumbles across this thread. When you load a .shp, ArcPad reads the associated .APL to determine how the shape will be symbolised, at what scale etc. When you edit in ArcPad it reads the .APL into memory and you can just use the repeat attributes tool for the session and turn it on and off manually. But in ArcPad 10, "Field History" was introduced and is written into the .APL s. When you save the map the last feature that you edited will be saved, so if you exit for the day, or lunch or maybe (just maybe) ArcPad crashes, the values are stored in the APL and you can carry on from where you were. So the tags looks like this in the .APL, and we can read them via a script. <FIELDHISTORY> <FIELDS repeat="true"> <FIELD name="SOMETHING" value="fgaerge"/> <FIELD name="ID" value="ftgfg"/> </FIELDS> </FIELDHISTORY> As I said, the important thing to remember is that the APL is loaded into memory every time a layer is opened and you cannot play with these tags. So the work around is to remove the layer, play with the .APL tags and then reload it. Therefore the next time you load the shapefile the tags that are read would look like this: <FIELDHISTORY> <FIELDS> <FIELD name="SOMETHING" value="fgaerge"/> <FIELD name="ID" value="ftgfg"/> </FIELDS> </FIELDHISTORY> Here is a sample script that should "just work" for you on shapefiles. Dim g_xmlDoc, g_cboLayerSelected, g_filePath 'find the editable layer Set g_cboLayerSelected = Map.EditLayer 'Get the location of the file g_filePath = g_cboLayerSelected.filePath 'Get the name of the shapefile g_shpName = g_cboLayerSelected.name LoadXML(g_cboLayerSelected) Function LoadXML(cboLayer) Set g_xmlDoc = CreateObject("Microsoft.XMLDOM") g_xmlDoc.load Left(g_filePath,Len(g_filePath)-3) & "apl" GetSetFieldHistory(cboLayer) End Function Function GetSetFieldHistory(cboLayer) Dim FieldsNode, attrRepeat Set FieldsNode = g_xmlDoc.SelectSingleNode("//FIELDS") attrRepeat = FieldsNode.GetAttribute("repeat") If attrRepeat = "true" then Map.Layers.Remove(g_cboLayerSelected) Map.Refresh() Map.Save() FieldsNode.removeAttribute("repeat") g_xmlDoc.save Left(g_filePath,Len(g_filePath)-3) & "apl" Map.AddLayerFromFile(g_filePath) Map.Layers(g_shpName).editable = true End If Map.Save() End Function It is up to you when you run it and obviously it might need some tweaking for your project but it does what you are after. I think 🙂 Cheers, Gareth
... View more
01-26-2011
07:59 PM
|
0
|
0
|
1293
|
|
POST
|
Hi There, We have written an applet for you that will fire the "Ctrl" key request from an applet toolbutton. It will turn the snapping visibilty on/off. go to the resources page and check it out! http://resources.arcgis.com/gallery/file/arcpad/details?entryID=A111C78F-1422-2418-7FF4-33639B566F15 Hope this helps. Cheers, Gareth
... View more
01-19-2011
03:40 PM
|
0
|
0
|
537
|
|
POST
|
Hi Richard, I guess I would either set up some geo processing tools to speed up the manual side of importing/exporting the tracklog if you are not doing so already. Or, write a script that intercepts the GPS messages and write the data and position into your AXF layer. here is an example from the ArcPad Help documentation that illustrates how you can get to the GPS properties. '++ call Handle_OnPosition in the GPS_OnPosition event handler Sub Handle_OnPosition Dim a, b 'a = PrintView() b = PrintUsed() 'Console.Print "View: " & CStr(a) Console.Print "Used: " & CStr(b) End Sub Function PrintUsed Dim u Set u = GPS.Satellites Console.Print "------------" Console.Print "SatellitesUsed: " & CStr(u.Count) Console.Print "------------" Dim s For Each s In u Call PrintSat(s) Next PrintUsed = u.count End Function Function PrintView Dim v Set v = GPS.Satellites(True) Console.Print "------------" Console.Print "GPS Protocol: " & GPS.Protocol Console.Print "SatellitesView: " & CStr(v.Count) Console.Print "------------" Dim s For Each s In v Call PrintSat(s) Next PrintView = v.Count End Function Sub PrintSat(s) Dim blnString If (s.InUse) Then blnString = "True" Else blnString = "False" End If Console.Print "PRN: " & CStr(s.PRN) Console.Print "--InUse: " & blnString Console.Print "--Elevation: " & CStr(s.Elevation) Console.Print "--Azimuth: " & CStr(s.Azimuth) Console.Print "--SignalStrength: " & CStr(s.SignalStrength) Dim m For m = 0 to 3 If (s.Properties("MeasurementID", m) <> 0) Then Console.Print "--Measurement: " & CStr(m) Console.Print "----ID: " & CStr(s.Properties("MeasurementID", m)) Console.Print "----Type: " & CStr(s.Properties("MeasurementType", m)) Console.Print "----Units: " & CStr(s.Properties("MeasurementUnits", m)) Console.Print "----Value: " & CStr(s.Properties("MeasurementValue", m)) End If Next If ("SiRF" = GPS.Protocol) Then Console.Print "--TimeTag: " & CStr(s.Properties("TimeTag")) Console.Print "--GPSSoftwareTime: " & CStr(s.Properties("GPSSoftwareTime")) Console.Print "--Pseudorange: " & CStr(s.Properties("Pseudorange")) End If End Sub I hope this helps. Cheers, Gareth
... View more
01-18-2011
11:31 AM
|
0
|
0
|
444
|
|
POST
|
Hi there and welcome to the forum! Out of the box you cannot edit Personal (.mdb), File (.gdb) or SDE geodatabases in ArcPad. Here is a link to the files that are associated. This is so both desktop and mobile versions of the software remain the same as the windows mobile platform does not support .mdb http://help.arcgis.com/en/arcpad/10.0/help/index.html#/Using_existing_data/00s10000006t000000/ To use your data in ArcPad you must use the ArcPad Data Manager for ArcGIS. This will enable you to create either shapefiles or an .AXF which is the ArcPad equivalent of a geodatabase. The AXF is based on SQL CE. If you have your data in an AXF then you will get all the benefits of synchronising to your main database. http://help.arcgis.com/en/arcpad/10.0/help/index.html#/Overview_of_the_ArcPad_Data_Manager_for_ArcGIS/00s10000007t000000/ Hopefully these two links should be able to get you started. Cheers and good luck, Gareth
... View more
01-18-2011
11:14 AM
|
0
|
0
|
365
|
|
POST
|
Hi, Unfortunately you are not missing anything at all, as the Juniper doesn't have the notion of a center button it will not work on that device.
... View more
01-13-2011
04:32 PM
|
0
|
0
|
537
|
|
POST
|
Hi, A couple of questions: Do you manually enter the serial number? Have you investigated any in field data verification/validation? What is the system you are putting these features back into? SDE, Personal or File Geodatabase or shapefiles? Do you want to validate before you enter the data or back in the office Before you go out into the field to use this information, what QA are you doing in the office to make sure that you have unique values in the system? Because there is no method in ArcGIS to create a unique ID other than the objectID), or more to the point an auto incrementing file like Access, SQL etc. ArcPad will follow the ArcGIS standards. however using ArcPad you can use validation to check values so that you know the data is correct in the field before you synchronise with the larger system. Why not have a reference (non editable) AXF that has all of the previous collected data in it and then when you add a new serial number in the editable AXF you can run a SQL query to validate against every record that has been collected. This could also be done with a dbf if you so desire using the "find"method in a script. Hope this helps. Cheers, Gareth
... View more
01-11-2011
03:00 PM
|
0
|
0
|
332
|
|
POST
|
Hi, This is actually a current limitation in ArcPad at the moment. I would send a note to ESRI support and get another note attached. Cheers, Gareth
... View more
01-11-2011
02:19 PM
|
0
|
0
|
235
|
|
POST
|
Hi Jeff, You could try something like this: Sub CreateUID() Dim intRand, myDate, myTime intRand = round(rnd*1000000) If Map.EditLayer.Forms("Editform").Pages("Page1").Controls("txtUID").Value = "" Then Map.EditLayer.Forms("Editform").Pages("Page1").Controls("txtUID").Value = intRand & "_" & Date() End If End Sub You could then set this to the Page OnSetActive event or the Forms OnLoad event. Obviously you replace the random section with your standard prefix. Hope this helps. Cheers, Gareth
... View more
01-09-2011
01:24 PM
|
0
|
0
|
523
|
|
POST
|
Hi Nathan, I think I read your question correctly. You will not need any different mobile device(s) or software(firmware) to get ArcPad or GPS Correct working. The only thing you won't get with ArcPad 7 running along side ArcGIS 10 is the new functionality in the synchronisation of photos in the "Get data for ArcPad" tool and the new functionality that was released. Hope this helps. Cheers, Gareth
... View more
01-04-2011
11:08 AM
|
0
|
0
|
344
|
|
IDEA
|
Trying to build spatial views of my data and I can't link to my geodatabase system tables as I cannot read the binary data in sql. Is there a way to do this in SQL as I don't know arcObjects. I just want to see them like any other related table - like the subtypes.
... View more
12-22-2010
03:41 PM
|
10
|
0
|
568
|
|
POST
|
Hi Phil, what version of ArcPad are you using? That functionality was built into ArcPad 10. When you use the data manager the photo page has two settings, the path for the photos when features are checked in and a check box for keeping the original paths in your data. This was implemented as we knew people would want the hyperlink altered correctly on CHeck In, rather than running the "Calculate Field" but they still want the links to be correctly maintained in the field data too so they can still be used while working.
... View more
11-09-2010
01:53 PM
|
0
|
0
|
402
|
|
POST
|
Hi Eric, you're too fast :). I had to create the forum before I could post the link on the blog. Here is the link though http://arcpadteam.blogspot.com/2010/11/how-to-use-arcpad-with-sql-part-2_08.html Cheers, Gareth
... View more
11-08-2010
05:54 PM
|
0
|
0
|
409
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 08-03-2015 10:29 PM | |
| 1 | 10-04-2015 03:41 PM | |
| 1 | 11-20-2011 03:31 PM | |
| 1 | 03-20-2013 06:32 PM | |
| 2 | 11-19-2015 08:35 PM |
| Online Status |
Offline
|
| Date Last Visited |
11-11-2020
02:23 AM
|