| **Navigation:**  [[abc library reference.htm|ABC Library Reference]] > BrowseClass > BrowseClass Methods >====== Ask (update selected browse item) {{c6h0009.jpg|C6H0009.jpg}} ====== | [[applyrange refresh browse based on resets and range limits .htm|{{btn_prev_n.gif|Previous page}}]][[abc library reference.htm|{{btn_home_n.gif|Return to chapter overview}}]][[askrecord edit in place selected browse item .htm|{{btn_next_n.gif|Next page}}]] | | || **Ask( **//request//** ), VIRTUAL, PROC** {{blk2blue.jpg|blk2blue.jpg}} | **Ask** | Updates the selected browse record. | | //request// | A numeric constant, variable, EQUATE, or expression that indicates the requested update action. Valid actions are Insert, Change, and Delete. | The **Ask **method updates the selected browse record and returns a value indicating whether the requested update was completed or cancelled. **Implementation: ** Depending on the value of the AskProcedure property, the Ask method either calls the WindowManager.Run method to execute a specific update procedure, or it calls the AskRecord method to do an edit-in-place update. The TakeEvent method calls the Ask method. The Ask method assumes the UpdateViewRecord method has been called to ensure correct record buffer contents. Return value EQUATEs are declared in \LIBSRC\ABFILE.EQU: **RequestCompleted   EQUATE (1)     !Update Completed** **RequestCancelled   EQUATE (2)     !Update Aborted** EQUATEs for //request //are declared in \LIBSRC\ABFILE.EQU: **InsertRecord       EQUATE (1)     !Add a record to table** **ChangeRecord       EQUATE (2)     !Change the current record** **DeleteRecord       EQUATE (3)     !Delete the current record** **Return Data Type:**     BYTE **Example:** **BrowseClass.TakeEvent PROCEDURE** **!procedure data** **  CODE** ** !procedure code** ** CASE ACCEPTED()** ** OF SELF.DeleteControl** **  SELF.Window.Update()** **  SELF.Ask(DeleteRecord)           !delete a browse item** ** OF SELF.ChangeControl** **  SELF.Window.Update()** **  SELF.Ask(ChangeRecord)           !change a browse item** ** OF SELF.InsertControl** **  SELF.Window.Update()** **  SELF.Ask(InsertRecord)           !insert a browse item** ** OF SELF.SelectControl** **  SELF.Window.Response = RequestCompleted** **  POST(EVENT:CloseWindow)** ** ELSE** **  SELF.TakeAcceptedLocator** ** END** **See Also:     **[[askprocedure update procedure 1.htm|AskProcedure]], [[askrecord edit in place selected browse item .htm|AskRecord]], [[takeevent process the current accept loop event browseclass .htm|TakeEvent]]