|Microsoft Office InfoPath™ 2003 Service Pack 1 or later
In a business setting, most people are required to fill out forms, such as expense reports, time cards, employee surveys, or insurance forms. Other people are responsible for designing, distributing, and maintaining these forms. You can use InfoPath, a new program in the Microsoft Office System, to both design and fill out electronic forms, such as the expense report form shown below.
Note The information in this article presumes that you have Microsoft Office InfoPath 2003 Service Pack 1 or later installed on your computer, and that you have enabled the service pack features in InfoPath. To learn more about the service pack and how to download it, see the links in the See Also box at the top of this article.
What is InfoPath?
In InfoPath, you can do two things:
- Design forms You can design and publish interactive, user-friendly forms in design mode (design mode: The InfoPath design environment in which you can create or modify a form template.). In addition to inserting text boxes and other standard controls (control: A graphical user interface object, such as a text box, check box, scroll bar, or command button, that lets users control the program. You use controls to display data or choices, perform an action, or make the user interface easier to read.) into a form, InfoPath lets you insert controls that offer users the flexibility to add, remove, replace, or hide sections (section: A control on a form that contains other controls.) of a form. The forms you design can range from simple forms for collecting data to complex forms that are part of a larger business process. InfoPath forms can be used on their own, or you can design them to work with existing databases or Web services. Forms can be published to and accessed from a common location on a company network, such as a shared folder, a Web server, or a form library (form library: A folder in which a collection of forms based on the same template is stored and shared. Each form in a form library is associated with user-defined information that is displayed in the content listing for that library.) located on a Microsoft Windows® SharePoint™ Services site. To fill out forms, users must have InfoPath installed on their computer.
- Fill out forms InfoPath users can fill out forms by using familiar document-like features. For example, they can check spelling inside fields, use the Format Painter tool to copy and paste formatting, or insert formatted text and graphics inside certain fields on the form. Depending on the form's design, users may also be able to merge data from multiple forms into a single form or export data to other programs. Users can also save forms to their computer, work on them offline, and then submit them to the corporate network when they are reconnected. This is especially useful for people who have intermittent or limited access to network resources, such as employees who travel frequently.
InfoPath is based on Extensible Markup Language (XML) (Extensible Markup Language (XML): A condensed form of Standard Generalized Markup Language (SGML) that enables developers to create customized tags that offer flexibility in organizing and presenting information.). When you design a form, InfoPath creates an .xsn file, which is simply a cabinet (.cab) file containing standard XML files, such as XML Schema (XSD) (XML Schema: A formal specification, written in XML, that defines the structure of an XML document, including element names and rich data types, which elements can appear in combination, and which attributes are available for each element.) and XSL Transformation (XSLT) (XSL Transformation (XSLT): A language that is used to transform XML documents into other types of documents, such as HTML or XML. It is designed for use as part of XSL.) files. When a user fills out a form in InfoPath, the data in that form is saved or submitted as industry-standard XML. However, you don't need to know anything about XML in order to design or fill out an InfoPath form. The important point is that the form's XML format can make it much easier for an organization to repurpose data. For example, a single InfoPath trip report form can be used to provide XML data to a customer relationship management (CRM) system, a petty cash system, and a travel planning system.
Why use InfoPath?
InfoPath forms can be straightforward, simple forms that are used by several people in a small workgroup to collect information. For example, a 10-person sales team might use a form to fill out and share information about the sales calls they make. The data in those forms might then be merged into a single summary report that is sent to management each month.
Alternatively, InfoPath forms can be more sophisticated forms that are connected to existing databases or integrated into existing business systems. For example, if your company uses Microsoft BizTalk® Server 2004 to manage the process of expense claim reporting, the developers in your IT department might design an InfoPath expense claim form that enables users to submit data directly to BizTalk, which in turn routes that data to the appropriate department for approval or processing.
The following list outlines some of the most important benefits of using InfoPath:
Reusable data Thanks to XML, the data stored in an InfoPath form doesn't have to remain locked inside that form; it can be easily separated from the form and reformatted or reused in a variety of ways. This flexibility enables form designers to integrate form data into existing business processes that rely on XML. It also reduces the need for time-consuming and redundant data-entry tasks, such as retyping data from paper forms into a database or manually copying data between disparate programs.
Accurate data As users fill out an InfoPath form, the data they enter can be checked for data validation (data validation: The process of testing the accuracy of data; a set of rules you can apply to a control to specify the type and range of data that users can enter.) errors. If your form is connected to a database or Web service, users won't be able to submit data until they fix these errors. This helps you ensure that the data you collect is accurate and error-free, and that it conforms to whatever standards you specify. The following illustration shows how a data validation error appears to the person filling out the form.
In addition, you can use formulas to automatically calculate mathematical values for users, or enable the spelling checker so that user can check for spelling errors before submitting their form.
Low overhead Unlike paper forms, which have to be reprinted when a change occurs, InfoPath forms can easily be modified and republished. In addition, InfoPath automatically detects when a form has been updated so that users always have the latest version.
Offline support Unlike Web-based forms, InfoPath forms don't have to be filled out while a user is connected to a network. Users can fill out forms offline, and then submit them later, when their computers are reconnected to the network.
Multiple views You can create an InfoPath form that includes multiple views (view: A form-specific display setting that can be saved with a form template and applied to form data when the form is being filled out. Users can switch between views to choose the amount of data shown in the form.). For example, to make a lengthy project status form easier to use, you might create a high-level summary view in addition to the default detailed view. You can create a rule (rule: A condition or action, or a set of conditions or actions, that automatically performs tasks based on events and values in the form.) that automatically switches views when users open the form, submit the form, or click a button in the form. Users can also switch views themselves by using commands on the View menu, as shown in the following illustration.
Flexible controls In addition to standard controls, such as text boxes and list boxes, InfoPath includes a number of new controls, such as repeating tables (repeating table: A control on a form that contains other controls in a table format and that repeats as needed. Users can insert multiple rows when filling out the form.), choice groups (choice group: A control that is used to present a set of mutually exclusive choices. By default, a choice group contains two choice sections, one of which appears to the user as the default choice in the form.), and optional sections (optional section: A control on a form that contains other controls and that usually does not appear by default. Users can insert and remove optional sections when filling out the form.). These types of controls let you design a flexible form that accommodates your users. For example, in an expense report form, you can use a repeating table to allow users to enter only as many expense items as they need.
Tablet PC support If you are using a Tablet PC, you can use a tablet pen (tablet pen: The pen that comes with a Tablet PC and is used to interact with the tablet screen.) to write directly in fields on the form. After a short delay, InfoPath automatically converts that ink into text. Depending on the design of your form, you can also write or draw inside certain controls, and then save the ink along with your form.
Using InfoPath with other programs
Because InfoPath supports industry-standard XML, it works effectively with other programs and technologies, including the ones listed in the following table.
|Program or technology
||How it works with InfoPath
|Microsoft Office Excel 2003
||Users can export data from one or more forms to a new Excel worksheet. Form data that is stored in a SharePoint Services form library can also be exported to an Excel worksheet.
|Microsoft Office Outlook® 2003
Users can send a copy of their form in the body of an Outlook e-mail message. This is a useful way to share a completed form with people who don't have InfoPath installed on their computer. The form itself is also attached to the message, so users who do have InfoPath installed can open it directly in InfoPath.
Form designers can also use an e-mail message to distribute forms to users. Similarly, form designers can allow users to submit completed forms as an attachment in an e-mail message.
|Microsoft Access 2000 or later
||You can connect your form to an existing Access database. Users can then use the form to submit data to and query the database. Similarly, you can populate list boxes with values from the database or bind (bind: To connect a control to a field or group in the data source so that data entered into the control is saved. When a control is unbound, it is not connected to a field or group, and so data entered into the control will not be saved.) controls to the fields and groups associated with the database.
|Microsoft SQL Server™ 2000
||You can design a form that is connected to a SQL Server database. Users can then use the form to submit data to and query the database. Similarly, you can populate list boxes with values from the database or bind controls to the fields and groups associated with the database.
|Microsoft Windows® SharePoint™ Services
Your team can publish files directly to a form library in Windows SharePoint Services so that all related forms are stored in a single, convenient location. From the form library, users can fill out forms, export form data to Excel, or merge the data from several forms into one form.
You can also create a data connection in your form that receives data from a SharePoint site or submits your form to a SharePoint Services form library.
|Microsoft Script Editor
||You don't need programming expertise to design an effective form. However, if you know how to write code, you can use Microsoft JScript® (JScript: An interpreted, object-based scripting language that borrows from C, C++, and Java. It is the Microsoft implementation of the ECMA 262 language specification.) or Microsoft Visual Basic® Scripting Edition (VBScript) (Visual Basic Scripting Edition (VBScript): A subset of the Microsoft Visual Basic programming system. At least Microsoft Internet Explorer 3, along with the other Web browsers, can read VBScript programs that are embedded in HTML pages.) in your form by accessing the Microsoft Script Editor (MSE) (Microsoft Script Editor (MSE): A programming environment used to create, edit, and debug Microsoft JScript or Microsoft VBScript code in an InfoPath form.) from within design mode.
|Microsoft Visual Studio® .NET 2003
||If you want to use InfoPath in combination with Visual Studio .NET 2003, you can choose to download the Microsoft Office InfoPath™ 2003 Toolkit for Visual Studio® .NET. This toolkit lets you use Visual Studio .NET to create, debug, and build InfoPath projects that use Microsoft Visual C# or Microsoft Visual Basic® .NET managed code. To download the toolkit, refer to the See Also box at the top of this article.
||You can connect your forms to a Web service in order to exchange XML data with other programs or systems. For example, you might use a Web service to receive data from or submit data to an Oracle database, which is not directly supported by InfoPath. You can also populate list boxes with values that come from the Web service or bind controls to the fields and groups associated with the Web service.
||You can base your forms on XML files that are already being used by your organization. For example, if your organization uses a specific XML Schema (.xsd) file for purchase orders, you can base an InfoPath purchase order form on that .xsd file. If you don't have an existing schema, InfoPath builds one for you as you add controls to your form.