COPY TO-Befehl

Erstellt aus dem Inhalt der aktuellen Tabelle eine neue Datei.

COPY TO FileName   [DATABASE DatabaseName [NAME LongTableName]]   
[FIELDS FieldList   | FIELDS LIKE Skeleton   | FIELDS EXCEPT Skeleton]
   [Scope] [FOR lExpression1] [WHILE lExpression2]   [[WITH] CDX]
 | [[WITH] PRODUCTION]   [NOOPTIMIZE]   
[[TYPE] [FOXPLUS | FOX2X | DIF | MOD   
| SDF | SYLK | WK1 | WKS | WR1 | WRK | CSV | | XLS | XL5   
| DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB   
| WITH CHARACTER Delimiter]]]   [AS nCodePage]

Parameter

  • FileName
    Gibt den Namen der neuen Datei an, die mit COPY TO erstellt wird. Wenn Sie keine Dateinamenerweiterung angeben, wird die Standarderweiterung für den angegebenen Dateityp zugewiesen. Wenn Sie den Dateityp nicht angeben, erstellt COPY TO eine neue Visual FoxPro-Tabelle und weist dem Tabellendateinamen die Standard-Dateinamenerweiterung DBF zu.

  • DATABASE DatabaseName
    Gibt die Datenbank an, der die neue Tabelle hinzugefügt werden soll.

  • NAME LongTableName
    Gibt den langen Namen der neuen Tabelle an. Lange Namen können aus bis zu 128 Zeichen bestehen und in Datenbanken anstelle der kurzen Dateinamen verwendet werden.

  • FIELDS FieldList
    Gibt an, welche Felder in die neue Datei kopiert werden. Wird FIELDS FieldList nicht angegeben, werden alle Felder in die neue Datei kopiert. Wenn die neu erstellte Datei keine Tabelle ist, werden Memofelder selbst dann nicht in die neue Datei kopiert, wenn die Namen von Memofeldern in FieldList angegeben sind.

  • FIELDS LIKE Skeleton
    Gibt an, dass die Felder der ursprünglichen Tabelle, die mit dem Feldplatzhalter Skeleton übereinstimmen, in die neue, mittels COPY TO erstellte Datei eingefügt werden.

  • FIELDS EXCEPT Skeleton
    Gibt an, dass alle Felder der ursprünglichen Tabelle außer denen, die mit dem Feldplatzhalter Skeleton übereinstimmen, in die neue, mittels COPY TO erstellte Datei eingefügt werden.

    Der Feldplatzhalter Skeleton akzeptiert Platzhalter. Um z. B. alle Felder, die mit dem Buchstaben "A" oder "P" beginnen, in die neue Datei einzufügen, verwenden Sie folgenden Befehl:

    COPY TO mytable FIELDS LIKE A*,P*
    

    Die LIKE-Klausel kann mit der EXCEPT-Klausel kombiniert werden:

    COPY TO mytable FIELDS LIKE A*,P* EXCEPT PARTNO*
    
  • Scope
    Gibt den Bereich von Datensätzen an, die in die neue Datei kopiert werden sollen. Nur die Datensätze, die im angegebenen Bereich liegen, werden kopiert. Die Bereichsklauseln sind: ALL, NEXT nRecords, RECORD nRecordNumber und REST. Weitere Informationen zu Bereichsklauseln finden Sie unter Bereichsklauseln.

  • FOR lExpression1
    Gibt an, dass nur die Datensätze, für die die logische Bedingung lExpression1 gleich Wahr (.T.) ist, in die neue Datei kopiert werden. Mit FOR lExpression1 können Sie Datensätze bedingt kopieren und so unerwünschte Datensätze herausfiltern.

    Rushmore™ optimiert COPY TO mit einer FOR lExpression1-Klausel, wenn es sich bei lExpression1 um einen optimierbaren Ausdruck handelt. Das beste Leistungsverhalten erzielen Sie, wenn Sie in der FOR lExpression1-Klausel einen optimierbaren Ausdruck verwenden.

    Weitere Informationen zu mit Hilfe von Rushmore optimierbaren Ausdrücken finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.

  • WHILE lExpression2
    Datensätze werden kopiert, solange die Auswertung des logischen Ausdrucks lExpression2 Wahr (.T.) ergibt.

  • [WITH] CDX | [WITH] PRODUCTION
    Erstellt für die neue Tabelle eine strukturierte Indexdatei, die mit der strukturierten Indexdatei der vorhandenen Tabelle identisch ist. Die Indizes und Indexausdrücke der ursprünglichen strukturierten Indexdatei werden in die neue strukturierte Indexdatei kopiert. Die CDX- und PRODUCTION-Klauseln sind identisch.

    Geben Sie CDX und PRODUCTION nicht an, wenn Sie in eine andere Datei als eine neue Visual FoxPro-Tabelle kopieren.

  • NOOPTIMIZE
    Deaktiviert die Rushmore-Optimierung für COPY TO.

    Weitere Informationen finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.

  • TYPE
    Gibt den Dateityp an, wenn es sich bei der zu erstellenden Datei nicht um eine Visual FoxPro-Tabelle handelt. Sie müssen beim Kopieren zwar einen Dateityp, aber nicht das Schlüsselwort TYPE angeben.

  • FOXPLUS
    Visual FoxPro-Memodateien weisen eine andere Struktur auf als Memodateien in Microsoft FoxBASE+™. Enthält die Visual FoxPro-Quelltabelle ein Memofeld, geben Sie die FOXPLUS-Klausel an, wenn Sie eine Tabelle erstellen möchten, die in FoxBASE+ verwendet werden kann. Das Visual FoxPro-Memofeld darf keine Binärdaten enthalten, da FoxBASE+ keine Binärdaten in Memofeldern unterstützt.

  • FOX2X
    Erstellt eine neue Tabelle, die in früheren Versionen von FoxPro (Versionen 2.0, 2.5 und 2.6) geöffnet werden kann.

    Bei Feldern des Typs Numerisch, Gleitkomma, Integer, Double und Währung werden NULL-Werte der Quelltabelle in der neuen Tabelle in den Wert 0 konvertiert. Bei anderen Feldtypen werden NULL-Werte der Quelltabelle zu Leerwerten in der neuen Tabelle. Weitere Informationen zu Leerwerten finden Sie unter ISBLANK( ).

    In der folgenden Tabelle sind die Visual FoxPro-Feldtypen aufgelistet, die in der neuen Tabelle in andere Feldtypen konvertiert werden, wenn Sie das FOX2X-Argument angeben.

    Visual FoxPro-Feldtyp FoxPro 2.x-Feldtyp
    Währung Gleitkomma
    DatumZeit Datum
    Double Gleitkomma
    Integer (Ganzzahl) Numerisch
  • DIF
    Erstellt eine VisiCalc® DIF-Datei (DIF - Data Interchange Format). Felder aus der FoxPro-Tabelle werden zu Vektoren (Spalten) und Datensätze werden zu Tupeln (Zeilen). Die neue Datei erhält die Dateinamenerweiterung DIF, wenn Sie in FileName keine Dateinamenerweiterung angeben.

  • MOD
    Erstellt eine Microsoft Multiplan®-Datei (Version 4.01). Die neue Microsoft Multiplan-Datei erhält die Dateinamenerweiterung MOD, wenn Sie keine Erweiterung angeben.

  • SDF
    Erstellt eine SDF-Datei (System Data Format). Eine SDF-Datei ist eine ASCII-Textdatei, in der alle Datensätze eine feste Länge haben sowie mit einem Wagenrücklauf (CR) und einem Zeilenvorschub (LF) enden. Die jeweiligen Felder sind nicht durch Trennzeichen voneinander getrennt. Die SDF-Datei erhält die Dateinamenerweiterung TXT, wenn Sie keine Erweiterung angeben. Beachten Sie, dass die SET CENTURY-Einstellung beim Erstellen von SDF-Dateien mittels COPY TO ignoriert wird.

    Wenn SDF-Dateien Datumsdaten enthalten, sollten diese das Format JJJJMMTT haben, um eine effektive Rückkonvertierung in Visual FoxPro-Tabellen zu ermöglichen.

    Werden Datumsinformationen in mehrdeutigen Formaten gespeichert, sollten Sie sicherstellen, dass diese das Format JJJJMMTT haben, bevor Sie den COPY TO-Vorgang ausführen.

  • SYLK
    Erstellt eine SYLK (Symbolic Link, Symbolische Verknüpfung)-Austauschdatei. SYLK-Dateien werden von Microsoft MultiPlan verwendet. Jedes Feld der aktuellen Tabelle wird eine Spalte der Kalkulationstabelle, und jeder Datensatz wird eine Zeile. SYLK-Dateien haben keine standardmäßige Dateinamenerweiterung.

  • WK1
    Erstellt eine Lotus® 1-2-3®-Tabellenkalkulationsdatei (Version 2.x). Jedes Feld der aktuellen Tabelle wird eine Spalte der Kalkulationstabelle, und jeder Datensatz wird eine Zeile. Der neuen Tabellenkalkulationsdatei wird die Dateierweiterung WK1 zugewiesen.

  • WKS
    Erstellt eine Lotus 1-2-3-Tabellenkalkulationsdatei (Version 1a). Jedes Feld der aktuellen Tabelle wird eine Spalte der Kalkulationstabelle, und jeder Datensatz wird eine Zeile. Der neuen Tabellenkalkulationsdatei wird die Dateierweiterung WKS zugewiesen.

  • WR1
    Erstellt eine Lotus Symphony®-Tabellenkalkulationsdatei (Version 1.1 oder 1.2). Jedes Feld der aktuellen Tabelle wird eine Spalte der Kalkulationstabelle, und jeder Datensatz wird eine Zeile. Der neuen Tabellenkalkulationsdatei wird die Dateierweiterung WR1 zugewiesen.

  • WRK
    Erstellt eine Lotus Symphony Tabellenkalkulationsdatei (Version 1.0). Jedes Feld der aktuellen Tabelle wird eine Spalte der Kalkulationstabelle, und jeder Datensatz wird eine Zeile. Der neuen Tabellenkalkulationsdatei wird die Dateierweiterung WR1 zugewiesen.

  • CSV
    Erstellt eine durch Kommas getrennte Wertedatei. In einer CSV-Datei befinden sich die Feldnamen in der ersten Zeile der Datei, und die Feldwerte im Rest der Datei sind durch Kommas voneinander getrennt.

  • XLS
    Erstellt eine Microsoft Excel-Tabellenkalkulationsdatei (Version 2.0). Jedes Feld der aktuellen Tabelle wird eine Spalte der Kalkulationstabelle, und jeder Datensatz wird eine Zeile. Die neue Excel-Tabelle erhält die Dateinamenerweiterung XLS, wenn Sie keine Erweiterung angeben.

  • XL5
    Erstellt eine Microsoft Excel-Tabellenkalkulationsdatei (Version 5.0). Jedes Feld der aktuellen Tabelle wird eine Spalte der Kalkulationstabelle, und jeder Datensatz wird eine Zeile. Die neue Excel-Tabelle erhält die Dateinamenerweiterung XLS, wenn Sie keine Erweiterung angeben.

  • DELIMITED
    Erstellt eine Datei mit Trennzeichen. Eine Datei mit Trennzeichen ist eine ASCII-Textdatei, in der jeder Datensatz mit einem Wagenrücklaufzeichen (CR) und einem Zeilenvorschubzeichen (LF) endet. Das Standardfeldtrennzeichen ist das Komma. Da Daten des Typs Zeichen auch Kommas enthalten können, werden bei Zeichenfeldern zusätzlich Anführungszeichen als Trennzeichen verwendet.

    Sofern Sie nichts anderes angeben, erhalten alle neu erstellten DELIMITED-Dateien die Dateinamenerweiterung TXT.

  • DELIMITED WITH Delimiter
    Erstellt eine Datei mit Trennzeichen, in der als Trennzeichen für Zeichenfelder ein anderes Zeichen als das Anführungszeichen verwendet wird. Das für Zeichenfelder verwendete Trennzeichen geben Sie mit Delimiter an.

  • DELIMITED WITH BLANK
    Erstellt eine Datei mit Trennzeichen, in der die Felder durch Leerzeichen anstelle von Kommas voneinander getrennt werden.

  • DELIMITED WITH TAB
    Erstellt eine Datei mit Trennzeichen, in der die Felder durch Tabulatoren anstelle von Kommas voneinander getrennt werden.

  • DELIMITED WITH CHARACTER Delimiter
    Erstellt eine Datei mit Trennzeichen, in der alle Felder mit dem durch Delimiter bezeichneten Zeichen eingeschlossen sind. Handelt es sich bei Delimiter um ein Semikolon (das Zeichen, das in Visual FoxPro die Befehlsfortsetzung anzeigt), sollten Sie das Semikolon in Anführungszeichen einschließen. Sie können jedoch auch die Schlüsselwörter BLANK und TAB als Delimiter angeben.

    Beachten Sie, dass die WITH Delimiter-Klausel mit der WITH CHARACTER-Klausel kombiniert werden kann. Beispielsweise erstellt der folgende Befehl eine Textdatei, in der die Zeichenfelder mit Unterstrichen geklammert und alle Felder durch Semikolons voneinander getrennt sind:

    COPY TO mytxt.txt DELIMITED WITH _ WITH CHARACTER ';'
    
  • AS nCodePage
    Gibt die Codepage der Tabelle oder Datei an, die mit COPY TO erstellt wird. Visual FoxPro kopiert den Inhalt der aktuellen Tabelle und konvertiert die Daten beim Kopieren automatisch gemäß der Codepage, die Sie für die neue Tabelle oder Datei angegeben haben. Wenn möglich, markiert Visual FoxPro die neu erstellte Tabelle oder Datei mit der angegebenen Codepage.

    Wenn Sie für nCodePage einen nicht unterstützten Wert angeben, generiert Visual FoxPro eine Fehlermeldung. Sie können für nCodePage GETCP( ) angeben, um das Dialogfeld Codepage aufzurufen, in dem Sie eine Codepage für die Tabelle oder die Datei auswählen können, die Visual FoxPro erstellt.

    Wird AS nCodePage nicht angegeben, wird die neu erstellte Tabelle oder Datei gemäß der aktuellen Visual FoxPro-Codepage konvertiert.

    Wird für nCodePage der Wert 0 angegeben, erfolgt keine Codepagekonvertierung, und die neu erstellte Tabelle oder Datei wird nicht mit einer Codepage markiert.

Hinweise

Wenn eine Indexreihenfolge festgelegt ist, werden die Datensätze in der durch den Hauptindex vorgegebenen Reihenfolge kopiert.

Beispiel

Im folgenden Beispiel wird die Tabelle customer geöffnet, und die nächsten 3 Datensätze werden in eine neue DELIMITED-Datendatei namens TEMP.TXT kopiert.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Opens Customer table

COPY NEXT 3 TO temp TYPE DELIMITED
WAIT WINDOW 'This is the delimited text file' NOWAIT
MODIFY FILE temp.txt
DELETE FILE temp.txt

Siehe auch

APPEND FROM | COPY FILE | GETCP( ) | EXPORT | IMPORT | RENAME TABLE