import arcpy def main(): arcpy.AddMessage("Starting") # Get and set variables sub = arcpy.GetParameterAsText(0) unit = arcpy.GetParameterAsText(1) blk = arcpy.GetParameterAsText(2) lot = arcpy.GetParameterAsText(3) layer_name = "tax_acct" df_name = "Layers" arcpy.AddMessage(sub) arcpy.AddMessage(unit) arcpy.AddMessage(blk) arcpy.AddMessage(lot) # Define mxd, df and lyr objects mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd, df_name)[0] lyr = arcpy.mapping.ListLayers(mxd, layer_name, df)[0] arcpy.AddMessage(lyr.name) # Create where clause for selection query = "SUBDIVISIO = '%s'" % (sub) query1 = "UNIT_NUMBE = '%s'" % (unit) query2 = "BLOCK_NUMB = '%s'" % (blk) query3 = "LOT_NUMBER = '%s'" % (lot) arcpy.AddMessage(query) arcpy.AddMessage(query1) arcpy.AddMessage(query2) arcpy.AddMessage(query3) arcpy.SelectLayerByAttribute_management(lyr, "NEW_SELECTION", query) arcpy.SelectLayerByAttribute_management(lyr, "SUBSET_SELECTION", query1) arcpy.SelectLayerByAttribute_management(lyr, "SUBSET_SELECTION", query2) arcpy.SelectLayerByAttribute_management(lyr, "SUBSET_SELECTION", query3) # Set df extent to layer selection df.extent = lyr.getSelectedExtent() arcpy.RefreshActiveView() arcpy.AddMessage("Completed") main()
Solved! Go to Solution.
arcpy.SelectLayerByAttribute_management(lyr, "NEW_SELECTION", query) if unit != "": arcpy.SelectLayerByAttribute_management(lyr, "SUBSET_SELECTION", query1) if blk != "": arcpy.SelectLayerByAttribute_management(lyr, "SUBSET_SELECTION", query2) if lot != "": arcpy.SelectLayerByAttribute_management(lyr, "SUBSET_SELECTION", query3)
arcpy.AddMessage("Query selected " + str(arcpy.GetCount_management(lyr).getoutput(0) + " records...")
arcpy.SelectLayerByAttribute_management(lyr, "NEW_SELECTION", query) if unit != "": arcpy.SelectLayerByAttribute_management(lyr, "SUBSET_SELECTION", query1) if blk != "": arcpy.SelectLayerByAttribute_management(lyr, "SUBSET_SELECTION", query2) if lot != "": arcpy.SelectLayerByAttribute_management(lyr, "SUBSET_SELECTION", query3)