'If lblSUBTYPE field value is Site, do the following: If objControl.Item("lblSUBTYPE").Value = 1 Then 'Enable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = True 'Disable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = False 'and set value of txtFEATURE_NUMBER field to "N/A" objControl.Item("txtFEATURE_NUMBER").Value = "N/A" 'Disable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = False 'and set value of txtTRACKING_NUMBER field to "N/A" objControl.Item("txtTRACKING_NUMBER").Value = "N/A" 'If lblSUBTYPE field value is Feature, do the following: ElseIf objControl.Item("lblSUBTYPE").value = 2 Then 'Enable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = True 'Enable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = True 'Disable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = False 'and set value of txtTRACKING_NUMBER field to "N/A" objControl.Item("txtTRACKING_NUMBER").Value = "N/A" 'If lblSUBTYPE field value is IO, do the following: ElseIf objControl.Item("lblSUBTYPE").value = 3 Then 'Disable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = False 'and set value of txtASMIS_ID field to "N/A" objControl.Item("txtASMIS_ID").Value = "N/A" 'Disable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = False 'and set value of txtFEATURE_NUMBER field to "N/A" objControl.Item("txtFEATURE_NUMBER").Value = "N/A" 'Enable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = True 'If lblSUBTYPE field value is Other, do the following: ElseIf objControl.Item("lblSUBTYPE").value = 4 Then 'Disable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = False 'and set value of txtASMIS_ID field to "N/A" objControl.Item("txtASMIS_ID").Value = "N/A" 'Disable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = False 'and set value of txtFEATURE_NUMBER field to "N/A" objControl.Item("txtFEATURE_NUMBER").Value = "N/A" 'Disable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = False 'and set value of txtTRACKING_NUMBER field to "N/A" objControl.Item("txtTRACKING_NUMBER").Value = "N/A" End If
'for your line feature "Line" = name of the layer Application.UserProperties("LayerName") = "Line"
Option Explicit 'The purpose of this script is to enable the appropriate ID/NUMBER fields [ASMIS_ID, FEATURE_NUMBER, TRACKING_NUMBER] 'when a given subtype [Site, Feature, IO, Other] is selected, and to hide those ID/NUMBER fields that do not apply with the value "N/A". 'Create a subroutine to be able to pass any feature layer name to the script Sub PopulateForm() 'Create and define Form, Page, and Control Dim objForm, objPage, objControl Set objForm = Application.Map.Layers(Application.UserProperties("LayerName")).Forms("EDITFORM") Set objPage = objForm.Pages("DataEntry") Set objControl = objPage.Controls 'If lblSUBTYPE field value is Site, do the following: If objControl.Item("lblSUBTYPE").value = "Site" Then 'Enable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = True 'Disable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = False 'and set value of txtFEATURE_NUMBER field to "N/A" objControl.Item("txtFEATURE_NUMBER").Value = "N/A" 'Disable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = False 'and set value of txtTRACKING_NUMBER field to "N/A" objControl.Item("txtTRACKING_NUMBER").Value = "N/A" 'If lblSUBTYPE field value is Feature, do the following: ElseIf objControl.Item("lblSUBTYPE").value = "Feature" Then 'Enable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = True 'Enable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = True 'Disable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = False 'and set value of txtTRACKING_NUMBER field to "N/A" objControl.Item("txtTRACKING_NUMBER").Value = "N/A" 'If lblSUBTYPE field value is IO, do the following: ElseIf objControl.Item("lblSUBTYPE").value = "IO" Then 'Disable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = False 'and set value of txtASMIS_ID field to "N/A" objControl.Item("txtASMIS_ID").Value = "N/A" 'Disable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = False 'and set value of txtFEATURE_NUMBER field to "N/A" objControl.Item("txtFEATURE_NUMBER").Value = "N/A" 'Enable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = True 'If lblSUBTYPE field value is Other, do the following: ElseIf objControl.Item("lblSUBTYPE").value = "Other" Then 'Disable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = False 'and set value of txtASMIS_ID field to "N/A" objControl.Item("txtASMIS_ID").Value = "N/A" 'Disable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = False 'and set value of txtFEATURE_NUMBER field to "N/A" objControl.Item("txtFEATURE_NUMBER").Value = "N/A" 'Disable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = False 'and set value of txtTRACKING_NUMBER field to "N/A" objControl.Item("txtTRACKING_NUMBER").Value = "N/A" End If 'Free objects Set objControl = Nothing Set objPage = Nothing Set objForm = Nothing End Sub
Option Explicit Sub PopulateForm() Dim objForm, objPage, objControl Set objForm = Application.Map.Layers(Application.UserProperties("LayerName")).Forms("EDITFORM") Set objPage = objForm.Pages("PAGE1") Set objControl = objPage.Controls If objControl.Item("Subtype").value = "1" Then objControl.Item("IDfield1").Enabled = True objControl.Item("IDfield1").Value = "" objControl.Item("IDfield2").Enabled = False objControl.Item("IDfield2").Value = "N/A" objControl.Item("IDfield3").Enabled = False objControl.Item("IDfield3").Value = "N/A" ElseIf objControl.Item("Subtype").value = "2" Then objControl.Item("IDfield1").Enabled = True objControl.Item("IDfield1").Value = "" objControl.Item("IDfield2").Enabled = True objControl.Item("IDfield2").Value = "" objControl.Item("IDfield3").Enabled = False objControl.Item("IDfield3").Value = "N/A" ElseIf objControl.Item("Subtype").value = "3" Then objControl.Item("IDfield1").Enabled = False objControl.Item("IDfield1").Value = "N/A" objControl.Item("IDfield2").Enabled = False objControl.Item("IDfield2").Value = "N/A" objControl.Item("IDfield3").Enabled = True objControl.Item("IDfield3").Value = "" ElseIf objControl.Item("Subtype").value = "4" Then objControl.Item("IDfield1").Enabled = False objControl.Item("IDfield1").Value = "N/A" objControl.Item("IDfield2").Enabled = False objControl.Item("IDfield2").Value = "N/A" objControl.Item("IDfield3").Enabled = False objControl.Item("IDfield3").Value = "N/A" End If 'Free objects Set objControl = Nothing Set objPage = Nothing Set objForm = Nothing End Sub
' Define public value for Layer Name Application.UserProperties("LayerName") = "CurrentLayerName" ' Call PopulateForm() in applet Application.Applets("AppletName").Execute("PopulateForm")
'The purpose of this script is to enable the appropriate ID/NUMBER fields [ASMIS_ID, FEATURE_NUMBER, TRACKING_NUMBER] 'when a given subtype [Site, Feature, IO, Other] is selected, and to hide those ID/NUMBER fields that do not apply with the value "N/A". 'Create a subroutine to be able to pass any feature layer name to the script Sub PopulateForm(c_sFLayer) 'Create and define Form, Page, and Control Dim objForm, objPage, objControl Set objForm = Map.Layers(c_sFLayer).Forms("EDITFORM") Set objPage = objForm.Pages("DataEntry") Set objControl = objPage.Controls 'If lblSUBTYPE field value is Site, do the following: If objControl.Item("lblSUBTYPE").value = "Site" Then 'Enable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = True 'Disable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = False 'and set value of txtFEATURE_NUMBER field to "N/A" objControl.Item("txtFEATURE_NUMBER").Value = "N/A" 'Disable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = False 'and set value of txtTRACKING_NUMBER field to "N/A" objControl.Item("txtTRACKING_NUMBER").Value = "N/A" 'If lblSUBTYPE field value is Feature, do the following: ElseIf objControl.Item("lblSUBTYPE").value = "Feature" Then 'Enable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = True 'Enable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = True 'Disable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = False 'and set value of txtTRACKING_NUMBER field to "N/A" objControl.Item("txtTRACKING_NUMBER").Value = "N/A" 'If lblSUBTYPE field value is IO, do the following: ElseIf objControl.Item("lblSUBTYPE").value = "IO" Then 'Disable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = False 'and set value of txtASMIS_ID field to "N/A" objControl.Item("txtASMIS_ID").Value = "N/A" 'Disable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = False 'and set value of txtFEATURE_NUMBER field to "N/A" objControl.Item("txtFEATURE_NUMBER").Value = "N/A" 'Enable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = True 'If lblSUBTYPE field value is Other, do the following: ElseIf objControl.Item("lblSUBTYPE").value = "Other" Then 'Disable txtASMIS_ID field objControl.Item("txtASMIS_ID").Enabled = False 'and set value of txtASMIS_ID field to "N/A" objControl.Item("txtASMIS_ID").Value = "N/A" 'Disable txtFEATURE_NUMBER field objControl.Item("txtFEATURE_NUMBER").Enabled = False 'and set value of txtFEATURE_NUMBER field to "N/A" objControl.Item("txtFEATURE_NUMBER").Value = "N/A" 'Disable txtTRACKING_NUMBER field objControl.Item("txtTRACKING_NUMBER").Enabled = False 'and set value of txtTRACKING_NUMBER field to "N/A" objControl.Item("txtTRACKING_NUMBER").Value = "N/A" End If 'Free objects Set objControl = Nothing Set objPage = Nothing Set objForm = Nothing End Sub
Sub PopulateForm(c_sFLayer) Dim objForm, objPage, objControl Set objForm = Map.Layers(c_sFLayer).Forms("DataEntry") Set objPage = objForm.Pages("PAGE1") Set objControl = objPage.Controls ... End Sub
Dim objForm, objPage, objControl Set objForm = Map.Layers("YourLayer").Forms("DataEntry") Set objPage = objForm.Pages("PAGE1") Set objControl = objPage.Controls If objControl.Item("Subtype").value = "1" Then objControl.Item("IDfield1").Enabled = True objControl.Item("IDfield2").Enabled = False objControl.Item("IDfield2").Value = "N/A" objControl.Item("IDfield3").Enabled = False objControl.Item("IDfield3").Value = "N/A" ElseIf objControl.Item("Subtype").value = "2" Then objControl.Item("IDfield1").Enabled = True objControl.Item("IDfield2").Enabled = True objControl.Item("IDfield3").Enabled = False objControl.Item("IDfield3").Value = "N/A" ElseIf objControl.Item("Subtype").value = "3" Then objControl.Item("IDfield1").Enabled = False objControl.Item("IDfield1").Value = "N/A" objControl.Item("IDfield2").Enabled = False objControl.Item("IDfield2").Value = "N/A" objControl.Item("IDfield3").Enabled = True ElseIf objControl.Item("Subtype").value = "4" Then objControl.Item("IDfield1").Enabled = False objControl.Item("IDfield1").Value = "N/A" objControl.Item("IDfield2").Enabled = False objControl.Item("IDfield2").Value = "N/A" objControl.Item("IDfield3").Enabled = False objControl.Item("IDfield3").Value = "N/A" End If 'Free objects Set objControl = Nothing Set objPage = Nothing Set objForm = Nothing
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.