<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">
	
<!--***********************************************************
 * 
 * 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.
 * 
 ***********************************************************-->


 
	
<meta>
<topic id="textsharedexplorerdatabasetablewizard01xml" indexer="include">
<title id="tit" xml-lang="en-US">Table Wizard - Select Fields</title>
<filename>/text/shared/explorer/database/tablewizard01.xhp</filename>
</topic>
</meta>
<body>
<section id="selecttable">
<paragraph role="heading" id="par_idN10546" xml-lang="en-US" level="1" l10n="CHG"><link href="text/shared/explorer/database/tablewizard01.xhp">Table Wizard - Select Fields</link></paragraph>
<paragraph role="paragraph" id="par_idN10556" xml-lang="en-US" l10n="NEW">Select fields from the provided sample tables as a starting point to create your own table.</paragraph>
</section>
<bookmark xml-lang="en-US" branch="hid/WIZARDS_HID_DLGTABLE_OPTBUSINESS" id="bm_id9071932" localize="false"/>
<paragraph role="heading" id="par_idN10559" xml-lang="en-US" level="2" l10n="NEW">Business</paragraph>
<paragraph role="paragraph" id="par_idN1055D" xml-lang="en-US" l10n="NEW"><ahelp hid=".">Select the business category to see only business sample tables.</ahelp></paragraph>
<bookmark xml-lang="en-US" branch="hid/WIZARDS_HID_DLGTABLE_OPTPRIVATE" id="bm_id5322428" localize="false"/>
<paragraph role="heading" id="par_idN10560" xml-lang="en-US" level="2" l10n="NEW">Private</paragraph>
<paragraph role="paragraph" id="par_idN10564" xml-lang="en-US" l10n="NEW"><ahelp hid=".">Select the private category to see only private sample tables.</ahelp></paragraph>
<bookmark xml-lang="en-US" branch="hid/WIZARDS_HID_DLGTABLE_LBTABLES" id="bm_id7499008" localize="false"/>
<paragraph role="heading" id="par_idN10567" xml-lang="en-US" level="2" l10n="NEW">Sample tables</paragraph>
<paragraph role="paragraph" id="par_idN1056B" xml-lang="en-US" l10n="NEW"><ahelp hid=".">Select one of the sample tables. Then select fields from that table from the left list box. Repeat this step until you have selected all the fields that you need.</ahelp></paragraph>
<embed href="text/shared/autopi/01090100.xhp#vorhandenefelder"/>
<embed href="text/shared/autopi/01090100.xhp#uebernehmen"/>
<embed href="text/shared/autopi/01090100.xhp#uebernehmealle"/>
<embed href="text/shared/autopi/01090100.xhp#entfernen"/>
<embed href="text/shared/autopi/01090100.xhp#entfernealle"/>
<embed href="text/shared/autopi/01090100.xhp#updown"/>
<bookmark xml-lang="en-US" branch="hid/WIZARDS_HID_DLGTABLE_FIELDSSELECTED" id="bm_id6092104" localize="false"/>
<paragraph role="heading" id="par_idN1059E" xml-lang="en-US" level="2" l10n="CHG">Selected Fields</paragraph>
<paragraph role="paragraph" id="par_idN105A4" xml-lang="en-US" l10n="NEW"><ahelp hid=".">Displays all fields that will be included in the new table.</ahelp></paragraph>
<paragraph role="paragraph" id="par_idN105A9" xml-lang="en-US" l10n="CHG"><link href="text/shared/explorer/database/tablewizard02.xhp" name="Table Wizard - Set types and formats">Table Wizard - Set types and formats</link></paragraph>
</body>
</helpdocument>
