APPEND FROM-Befehl

Fügt an die aktuell ausgewählte Tabelle Datensätze an, die sich in einer anderen Datei befinden.

APPEND FROM FileName | ?   [FIELDS FieldList] [FOR lExpression]
   [[TYPE] [DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB
      | WITH CHARACTER Delimiter] | DIF | FW2 | MOD | PDOX | RPD |
      SDF | SYLK | WK1 | WK3 | WKS | WR1 | WRK | CSV | XLS | XL5 
      [SHEET cSheetName] | XL8 [SHEET cSheetName]]] [AS nCodePage]

Parameter

  • FileName
    Gibt den Namen der Datei an, in der sich die anzufügenden Datensätze befinden. Wenn Sie keine Erweiterung angeben, wird vorausgesetzt, dass es sich um eine Visual FoxPro-Tabelle mit der Standarderweiterung DBF handelt. Stehen die anzufügenden Datensätze in einer Visual FoxPro-Tabelle, werden auch die Datensätze der Tabelle angefügt, die zum Löschen markiert sind, und zwar unabhängig davon, wie SET DELETED eingestellt ist.

  • ?
    Zeigt das Dialogfeld Öffnen an, über das Sie die Tabelle auswählen können, in der sich die anzufügenden Datensätze befinden.

  • FIELDS FieldList
    Gibt die Felder an, an die die Daten angefügt werden sollen.

  • FOR lExpression
    Fügt für jeden Datensatz der aktuell gewählten Tabelle, für den lExpression gleich Wahr (.T.) ist, einen neuen Datensatz an. Es werden so lange Datensätze angefügt, bis das Ende der aktuell gewählten Tabelle erreicht ist. Wenn Sie FOR nicht angeben, wird die gesamte Quelldatei an die aktuell gewählte Tabelle angefügt.

  • TYPE
    Gibt den Typ der Datei an, aus der die anzufügenden Datensätze stammen. Wenn es sich bei der Tabelle, aus der die anzufügenden Datensätze stammen, um keine Visual FoxPro-Tabelle handelt, müssen Sie einen Dateityp angeben, ansonsten wird das TYPE-Schlüsselwort nicht benötigt. Es können Datensätze aus einer Vielzahl von Dateitypen anhängt werden, einschließlich aus mit Trennzeichen versehenen ASCII-Textdateien (DELIMITED-Dateien), für die Sie das Feldtrennzeichen angeben können.

    Wenn die Quelldatei, aus der Sie Datensätze anfügen, nicht über die für ihren Dateityp standardmäßig verwendete Erweiterung verfügt, müssen Sie zusätzlich zu dem Namen der Datei auch die Erweiterung angeben. Zum Beispiel haben Microsoft Excel-Arbeitsblätter normalerweise die Erweiterung XLS. Hat ein Microsoft Excel-Arbeitsblatt, von dem Sie Datensätze anfügen, nicht die Erweiterung XLS, dürfen Sie nicht vergessen, die aktuelle Erweiterung anzugeben.

    Anmerkung   Wenn sich die anzufügenden Daten auf einem Arbeitsblatt befinden, dürfen sie dort nicht in einer spaltenorientierten, sondern müssen in einer zeilenorientierten Reihenfolge vorliegen. Auf diese Weise wird gewährleistet, dass die aus dem Arbeitsblatt angefügten Daten mit der Struktur der Zieltabelle übereinstimmen.

  • DELIMITED
    Gibt an, dass es sich bei der Quelldatei, aus der Daten an die aktuelle Visual FoxPro-Tabelle angefügt werden, um eine mit Trennzeichen versehene Datei (DELIMITED-Datei) handelt. Eine Datei mit Trennzeichen ist eine ASCII-Textdatei, in der jeder Datensatz mit einem Wagenrücklaufzeichen (CR) und einem Zeilenvorschubzeichen (LF) endet. Bei den Feldinhalten wird standardmäßig davon ausgegangen, dass diese durch Komma voneinander getrennt sind (ohne zusätzliche Leerzeichen vor bzw. nach den Kommas), und dass Feldwerte vom Typ Zeichen zusätzlich durch Anführungszeichen gekennzeichnet sind. Beispiel:

    "Smith",9999999,"TELEPHONE"
    

    Für alle Dateien mit Trennzeichen (DELIMITED-Dateien) wird standardmäßig die ErweiterungTXT erwartet.

    Sie können Datumsangaben aus DELIMITED-Dateien importieren, vorausgesetzt, dass die Datumsangaben im richtigen Format vorliegen. Das standardmäßige Datumsformat ist MM/TT/JJ. Der Jahrhundertteil eines Datums kann, muss aber nicht angegeben werden. Visual FoxPro setzt für den Import eines Datums, das keine Jahrhundertangabe enthält (wie z. B. 25.12.95), das 20. Jahrhundert voraus. Als Datumstrennzeichen wird jedes nicht numerische Zeichen außer dem Feldtrennzeichen akzeptiert, mit dem die Felder in der DELIMITED-Datei voneinander getrennt werden.

    Datumsangaben, die in anderen Formaten vorliegen, können importiert werden, wenn ihr Format zu einem der Formate passt, die in SET DATE verfügbar sind. Wenn Sie Datumsangaben importieren möchten, die nicht im Standardformat vorliegen, sollten Sie APPEND FROM erst einsetzen, nachdem Sie mit SET DATE das entsprechende Datumsformat eingestellt haben. Mit CTOD( ) können Sie prüfen, ob eine Datumsangabe in einem Format vorliegt, das erfolgreich importiert werden kann. Wird das Datum von CTOD( ) akzeptiert, kann es korrekt importiert werden.

  • DELIMITED WITH Delimiter
    Gibt an, dass für Zeichenfelder nicht das Anführungszeichen, sondern ein anderes Zeichen als Begrenzungszeichen dient.

  • DELIMITED WITH BLANK
    Gibt Dateien an, in denen die Feldwerte nicht durch Kommas, sondern durch Leerzeichen voneinander getrennt sind.

  • DELIMITED WITH TAB
    Gibt Dateien an, in denen die Feldwerte nicht durch Kommas, sondern durch Tabulatorschaltungen voneinander getrennt sind.

  • DELIMITED WITH CHARACTER Delimiter
    Gibt Dateien an, in denen alle Felder mit dem durch Delimiter festgelegten Zeichen geklammert 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 das BLANK-Schlüsselwort und das TAB-Schlüsselwort als Delimiter angeben.

    Die WITH Delimiter-Klausel kann mit der WITH CHARACTER-Klausel kombiniert werden. Der folgende Befehl fügt z. B. Datensätze aus einer Textdatei an, deren Zeichenfelder mit Unterstrichen (_) geklammert und deren Felder mit Sternchen (*) voneinander getrennt sind:

    APPEND FROM mytxt.txt DELIMITED WITH _ ;   WITH CHARACTER *
    
  • DIF
    Geben Sie DIF an, um Daten aus einer Datei mit der ErweiterungDIF (VisiCalc Data Interchange Format, Datenaustauschformat) zu importieren. Vektoren (Spalten) werden in der aktuell gewählten Tabelle zu Feldern, und Tupeln (Zeilen) werden zu Datensätzen. Bei einer DIF-Datei wird vorausgesetzt, dass sie über die Erweiterung DIF verfügt.

  • FW2
    Geben Sie FW2 an, um Daten aus einer Datei zu importieren, die mit Framework II erstellt wurde. Bei einer FW2-Datei wird vorausgesetzt, dass sie über die Erweiterung FW2 verfügt.

  • MOD
    Geben Sie MOD an, um Daten aus einer Datei zu importieren, die mit Microsoft Multiplan, Version 4.01, erstellt wurde. MOD-Dateien wurden mit Microsoft Multiplan, Version 4.01, erstellt, und es wird die Erweiterung MOD vorausgesetzt.

  • PDOX
    Geben Sie PDOX an, um Daten aus einer Datei zu importieren, die mit Paradox, Version 3.5 oder 4.0, erstellt wurde. Bei einer Paradox-Datei wird vorausgesetzt, dass sie über die Erweiterung DB verfügt.

  • RPD
    Geben Sie RPD an, um Daten aus einer Datei zu importieren, die mit RapidFile, Version 1.2, erstellt wurde. Bei einer RapidFile-Datei wird vorausgesetzt, dass sie über die Erweiterung RPD verfügt.

  • SDF
    Geben Sie SDF an, um Daten aus einer System Data Format-Datei zu importieren. 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 Felder sind nicht durch Trennzeichen getrennt. Bei einer SDF-Datei wird vorausgesetzt, dass sie über die Erweiterung TXT verfügt.

    Für eine effektive Konvertierung von Datumsdaten aus SDF-Dateien in Visual FoxPro-Tabellen müssen diese Daten im Format JJJJMMTT gespeichert sein.

    Wenn Datumsinformationen in mehrdeutigen Formaten gespeichert sind, sollten Sie die Datumsspalte einer Zeichenspalte mit geeigneter Breite zuweisen, so dass Sie den Wert überprüfen und dann die richtige Umwandlungsroutine zuweisen können, um korrekt formatierte Datumsdaten zu erhalten.

  • SYLK
    Geben Sie SYLK an, um Daten aus einer SYLK-Datei (Symbolic Link Format) zu importieren. SYLK-Dateien werden von Microsoft MultiPlan verwendet. Jede Spalte einer SYLK-Datei wird in der Visual FoxPro-Tabelle zu einem Feld, jede Zeile einer SYLK-Datei zu einem Datensatz. SYLK-Dateien haben keine standardmäßige Dateinamenerweiterung.

  • WK1
    Geben Sie WK1 an, um Daten aus einer mit Lotus 1-2-3, Version 2.x, erstellten Kalkulationstabelle zu importieren. Jede Spalte der Kalkulationstabelle wird in der Visual FoxPro-Tabelle zu einem Feld, jede Zeile zu einem Datensatz. Die ErweiterungWK1 wird einer mit Lotus 1-2-3, Version 2.x, erstellten Kalkulationstabelle zugewiesen.

  • WK3
    Geben Sie WK3 an, um Daten aus einer Lotus 1-2-3-Kalkulationstabelle zu importieren. Jede Spalte der Kalkulationstabelle wird in der Visual FoxPro-Tabelle zu einem Feld, jede Zeile zu einem Datensatz. Die ErweiterungWK3 wird einer mit Lotus 1-2-3, Version 3.x, erstellten Kalkulationstabelle zugewiesen.

  • WKS
    Geben Sie WKS an, um Daten aus einer Datei zu importieren, die im Format von Lotus 1-2-3, Version 1-A, vorliegt. Jede Spalte der Kalkulationstabelle wird in der Visual FoxPro-Tabelle zu einem Feld, jede Zeile zu einem Datensatz. Die ErweiterungWKS wird einer mit Lotus 1-2-3, Version 1-A, erstellten Kalkulationstabelle zugewiesen.

  • WR1
    Geben Sie WR1 an, um Daten aus einer Kalkulationstabelle zu importieren, die im Format von Lotus Symphony, Version 1.1 oder 1.2, vorliegt. Jede Spalte der Kalkulationstabelle wird in der Visual FoxPro-Tabelle zu einem Feld, jede Zeile zu einem Datensatz. Die Erweiterung WR1 wird einer mit Lotus Symphony, Version 1.1 oder 1.2, erstellten Kalkulationstabelle zugewiesen.

  • WRK
    Geben Sie WRK an, um Daten aus einer Kalkulationstabelle zu importieren, die im Format von Lotus Symphony, Version 1.0, vorliegt. Jede Spalte der Kalkulationstabelle wird in der Visual FoxPro-Tabelle zu einem Feld, jede Zeile zu einem Datensatz. Die ErweiterungWRK wird einer mit Lotus Symphony, Version 1.0, erstellten Kalkulationstabelle zugewiesen.

  • CSV
    Geben Sie CVS an, um Daten aus einer durch Kommas unterteilten Wertedatei zu importieren. Eine CSV-Datei besitzt Feldnamen als erste Zeile in der Datei; die Feldnamen werden beim Importieren der Datei ignoriert.

  • XLS
    Geben Sie XLS an, um Daten aus einem Microsoft Excel-Arbeitsblatt zu importieren. Jede Spalte eines Excel-Arbeitsblattes wird in der Visual FoxPro-Tabelle zu einem Feld, jede Zeile zu einem Datensatz. Eine mit Microsoft Excel erstellte Arbeitsblattdatei erhält die Erweiterung XLS.

  • XL5
    Geben Sie XL5 an, um Daten aus einem mit Microsoft Excel erstellten Arbeitsblatt zu importieren. Jede Spalte eines Excel-Arbeitsblattes wird in der Visual FoxPro-Tabelle zu einem Feld, jede Zeile eines Excel-Arbeitsblattes zu einem Datensatz. Eine mit Microsoft Excel erstellte Arbeitsblattdatei erhält die Erweiterung XLS.

    Wenn Sie die SHEET-Klausel weglassen, werden die Daten aus Sheet1 importiert. Um Daten von einem anderen Arbeitsblatt zu importieren, fügen Sie das Schlüsselwort SHEET hinzu und geben mit cSheetName einen Arbeitsblattnamen an.

  • XL8
    Geben Sie XL8 an, um Daten aus Microsoft Excel 97 zu importieren. Spalten aus dem Arbeitsblatt werden zu Feldern der Tabelle, Zeilen des Arbeitsblattes zu Datensätzen der Tabelle. Eine mit Microsoft Excel erstellte Arbeitsblattdatei erhält die Erweiterung XLS.

    Wenn Sie die SHEET-Klausel weglassen, werden die Daten aus Sheet1 importiert. Um Daten von einem anderen Arbeitsblatt zu importieren, fügen Sie das Schlüsselwort SHEET hinzu und geben mit cSheetName einen Arbeitsblattnamen an.

  • AS nCodePage
    Gibt die Codepage der Quelltabelle bzw. -datei an. Während Visual FoxPro den Inhalt der Quelltabelle bzw. -datei kopiert, wandelt es die Daten automatisch in die Codepage der aktuellen Tabelle um.

    Wenn Sie für nCodePage einen nicht unterstützten Wert angeben, generiert Visual FoxPro eine Fehlermeldung. Sie können für nCodePage die GETCP( )-Funktion angeben, um das Dialogfeld Codepage aufzurufen, über das Sie eine Codepage für die anzufügende Tabelle bzw. Datei festlegen können.

    Wenn Sie AS nCodePage nicht angeben und Visual FoxPro die Codepage der Quelltabelle oder -datei nicht ermitteln kann, kopiert Visual FoxPro den Inhalt der Quelltabelle oder -datei. Beim Kopieren der Daten werden diese automatisch entsprechend der aktuellen Visual FoxPro-Codepage konvertiert. Ist SET CPDIALOG auf ON eingestellt, ist die im aktuell ausgewählten Arbeitsbereich geöffnete Tabelle mit einer Codepage gekennzeichnet. Wenn Sie den Inhalt einer Tabelle anfügen, die nicht mit einer Codepage gekennzeichnet ist, wird das Dialogfeld Codepage aufgerufen, in dem Sie die Codepage für die Tabelle, aus der Daten angefügt werden sollen, auswählen können. Mit CPCURRENT( ) können Sie die aktuelle Visual FoxPro-Codepage ermitteln.

    Wenn Sie AS nCodePage nicht angeben, Visual FoxPro die Codepage der Quelltabelle oder -datei jedoch ermitteln kann, kopiert Visual FoxPro den Inhalt der Quelltabelle oder -datei. Beim Kopieren der Daten werden diese automatisch entsprechend der Codepage der aktuell gewählten Tabelle umgewandelt.

    Ist nCodePage gleich 0, setzt Visual FoxPro voraus, dass die Codepage der anzufügenden Tabelle bzw. Datei sowie die Codepage der aktuell ausgewählten Tabelle identisch sind. In diesem Fall tritt keine Umwandlung in die aktuelle Visual FoxPro-Codepage ein.

Hinweise

Ist die Datei, aus der die anzufügenden Daten stammen, eine Visual FoxPro-Tabelle oder eine Tabelle, die mit einer früheren Version von FoxPro erstellt wurde, wird die Erweiterung DBF vorausgesetzt. Hat diese Datei nicht die Erweiterung DBF, müssen Sie die Erweiterung der Datei angeben. Ist die Datei weder eine mit Visual FoxPro noch eine mit einer früheren Version von FoxPro erstellte Tabelle, müssen Sie den Typ der Datei angeben, aus der Daten angefügt werden sollen.

Den Inhalt einer Tabelle, die in dBASE IV oder dBASE V erstellt wurde und ein Memofeld enthält, können Sie erst anfügen, nachdem Sie die Tabelle in Visual FoxPro mit USE geöffnet haben. Wenn Sie gefragt werden, ob die Datei umgewandelt werden soll, müssen Sie die Schaltfläche Ja wählen.

Wenn Sie Datensätze aus einer Visual FoxPro-Tabelle oder einer Tabelle anfügen, die mit einer früheren Version von Visual FoxPro erstellt wurde, kann diese in einem anderen Arbeitsbereich geöffnet sein. Datensätze, die in der anzufügenden Tabelle zum Löschen markiert sind, sind nicht mehr markiert, nachdem sie angefügt wurden.

Verwenden Sie die DBF( )-Funktion, um Daten aus einem temporären schreibgeschützten Cursor hinzuzufügen, der mit dem Befehl SELECT - SQL erzeugt wurde. Geben Sie den Namen des Cursors in der DBF( )-Funktion an, wie in dem folgenden Beispiel:

APPEND FROM DBF('<Cursor Name>')

Beispiel

Im folgenden Beispiel wird die Tabelle customer geöffnet, deren Struktur in eine Tabelle mit Namen Backup kopiert, und anschließend wird Backup geöffnet. Visual FoxPro fügt dann alle Datensätze von Kunden aus Finnland aus der Tabelle customer an. Diese Datensätze werden anschießend in eine neue DELIMITED-Datei mit Namen TEMP.TXT kopiert.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && Open customer table
COPY STRUCTURE TO backup
USE backup
APPEND FROM customer FOR country = 'Finland'
COPY TO temp TYPE DELIMITED
MODIFY FILE temp.txt
USE
DELETE FILE backup.dbf
DELETE FILE temp.txt

Siehe auch

COPY FILE | COPY TO | EXPORT | GETCP( ) | IMPORT