<?xml version="1.0" encoding="UTF-8"?>


<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->


	
<helpdocument version="1.0">
<meta>
<topic id="textshared0212110000xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">Form-based Filters</title>
<filename>/text/shared/02/12110000.xhp</filename>
</topic>
<history>
<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created>
<lastedited date="2004-10-07T12:28:01">converted from old format - fpe</lastedited>
</history>
</meta>
<body>
<bookmark xml-lang="en-US" branch="hid/.uno:FormFilter" id="bm_id7677230" localize="false"/><!-- HID added by script -->
<bookmark xml-lang="en-US" branch="hid/.uno:FormFilter" id="bm_id3154894" localize="false"/>
<section id="formbasedfilters">
<paragraph role="heading" id="hd_id3147000" xml-lang="en-US" level="1" l10n="U" oldref="1"><variable id="formfilter"><link href="text/shared/02/12110000.xhp" name="Form-based Filters">Form-based Filters</link>
</variable></paragraph>
<paragraph role="paragraph" id="par_id3154230" xml-lang="en-US" l10n="U" oldref="2"><variable id="formfiltertext"><ahelp hid=".uno:FormFilter">Prompts the database server to filter the visible data by specified criteria.</ahelp>
</variable></paragraph>
</section>
<paragraph role="paragraph" id="par_id3152918" xml-lang="en-US" l10n="U" oldref="3">Unlike the normal search, which is activated by the <link href="text/shared/02/12100200.xhp" name="Find Record">Find Record</link> icon on the <emph>Form</emph> Bar, you can search more quickly by using the form-based filter. Usually a quick database server is charged with the search. Also, you can enter more complex search conditions.</paragraph>
<section id="syformfilter">
<table id="tbl_id3156136">
<tablerow>
<tablecell colspan="" rowspan="">
<paragraph role="paragraph" id="par_id3153394" xml-lang="en-US" l10n="E">
<image id="img_id3147226" src="res/commandimagelist/sc_formfilter.png" width="0.564cm" height="0.564cm"><alt id="alt_id3147226" xml-lang="en-US">Icon</alt>
	</image></paragraph>
</tablecell>
<tablecell colspan="" rowspan="">
<paragraph role="paragraph" id="par_id3149751" xml-lang="en-US" l10n="U" oldref="4">Form-based Filters</paragraph>
</tablecell>
</tablerow>
</table>

</section>
<embed href="text/shared/guide/data_search2.xhp#data_search2"/>
</body>
</helpdocument>
