# How Access Works

Many times a task needs to present information to or ask for input from the user. For example, a task may need the file name of a file to load, save, or delete, or ask the user which of two choices to make.

Access is a Portfolio system task that provides a mechanism for displaying this type of information to the user and accepting user input. Access can create transaction boxes, display specified text, read controller input, and perform all the other user input activities.

To use Access, a task communicates its user interface needs by sending messages to the Access message port. The calling task receives results by receiving reply messages from Access. For example, a task sends a message to Access requesting it to ask the user to load a file. Access presents the appropriate transaction box, accepts the user's input (via the control pad), and sends the name of the file back to the task.

Access provides two benefits to calling tasks:

- First, the task doesn't have to create a user interface from scratch. Access creates the transaction boxes for user input and monitors controllers to get the response to the transaction boxes, all according to simple requests from the calling task.

- Second, Access provides a consistent user interface for common activities found in many tasks. For example, once a user learns how to load a file in one program that uses Access, he or she doesn't have to learn a different process to load a file in another program that uses Access.