Rename Fields - Felder direkt in mehreren dBASE oder INFO-Dateien umbenennen
Mit diesem Befehl können Sie die Felder von mehreren Tabellen bzw. Themen umbenennen. Neben dem ursprünglichen Feldnamen enthält dieser Dialog eine Spalte mit dem neuen Namen (wenn dieser unverändert ist, bleibt die Spalte leer).
Sie können jedes Feld individuell umbenennen oder mehrere Feldnamen in einem Schritt mittels einer Funktion modifizieren.
Dieser Befehl arbeitet extrem schnell, da die Felder direkt in den dBASE bzw. INFO-Dateien auf der Festplatte umbenannt werden (im Gegensatz zu anderen gängigen Erweiterungen werden die Felder nicht neu angelegt und dann alle Feldwerte kopiert).
- Die Tabellen bzw. Themen, in denen Felder umbenannt werden sollen, müssen vor Aufruf des Befehls durch Anklicken mit der Maus aktiviert werden.
- Common Fields: Hier werden die Felder angezeigt, die mehrfach vorkommen (gleichnamige Felder in der selben oder in verschiedenen Tabellen). Klicken Sie ein Feld an, um die entsprechenden Felder in Unique Fields aus- oder abzuwählen. Doppelklicken Sie auf ein Feld, um alle entsprechenden Felder in allen Tabellen umzubenennen (es erscheint ein kleines Dialogfenster).
- Unique Fields: Hier werden entweder nur die einzeln vorkommenden (Option ist aktiv) oder alle Felder angezeigt (Option ist aus). Wählen Sie die Felder aus, die Sie umbenennen wollen. Detaillierte Angaben siehe Hinweise zur Auswahl von Feldern. Doppelklicken Sie auf ein Feld, wenn Sie dessen Namen ändern wollen (es erscheint ein kleines Dialogfenster).
- Name: Zum Umbenennen der ausgewählten Felder kann hier jede beliebige gültige Avenue-Funktion für Strings eingegeben werden (siehe ArcView Online-Hilfe), die als Variable für den originalen Namen ein "N" enthält. Sie können ferner den Platzhalter "A" für den Alias des Feldnamens im Tabellenblatt, "T" für den Namen der Tabelle und "C" für einen fortlaufenden Zähler (beginnend bei 1) verwenden.
- Wenn Sie allen gewählten Felder den gleichen Namen zuweisen wollen, geben Sie diesen in Hochkomma ein (z.B. "Hektar").
- Die einfachste Funktion ist das Hinzufügen von Zeichen am Anfang (z.B.: "alt_"+N) oder am Ende des Namens (z.B.: N+"_neu"). Feldnamen die dabei länger als 10 (dBASE) bzw. 16 Zeichen (INFO) werden, werden abgeschnitten und erhalten nur den richtigen Alias (d.h. sie werden im Tabellenblatt dennoch vollständig angezeigt).
- Um dies zu vermeiden, können z.B. die ersten 6 Zeichen des alten Namens beibehalten werden ("alt"+N.Left(6) oder N.Left(6)+"neu").
- Es können auch Teile aus der Mitte des Namens beibehalten werden (z.B.: "A"+N.Middle(1,4) um die Zeichen 2 bis 5 zu erhalten, und das erste Zeichen durch ein "A" zu ersetzen).
- Ferner können bestimmte Zeichen durch andere ersetzt werden (z.B. N.Substitute("_", "-") um einen Unterstrich durch einen Bindestrich, N.Substitute("alt", "neu") um "alt" durch "neu" zu ersetzen oder N.Substitute("-", "") um alle Bindestriche zu entfernen).
- Um die Felder fortlaufend zu numerieren, können Sie den Zähler "C" verwenden, z.B. "ID"+C.AsString um die Felder ID1, ID2, ID3 etc. oder "ID"+(C-1).SetFormat("dd").AsString um die Felder zweistellig beginnend bei 0 zu benennen (ID00, ID01, ID02 etc.).
- Wenn Sie Felder in mehreren Tabellen umbenennen und den Namen der Tabelle (d.h. der Name der dBASE- oder INFO-Datei) in den Feldnamen integrieren wollen, verwenden Sie den Platzhalter "T", z.B. T.Left(4)+"_id" um den Feldern in den Tabellen "europa.dbf" und "america.dbf" die Namen Euro_id und Amer_id zu geben.
- In manchen Fällen ist es erforderlich, auf den Alias des Feldnamens zuzugreifen, z.B. wenn Sie die Felder bereits umbenannt, dann aber festgestellt haben, dass die resultierenden Feldnamen zu lange waren (im Tabellenblatt wird das Feld mit dem vollen "virtuellen" Namen, in den Dialogen aber der echte Feldname abgekürzt angezeigt). Alle obigen Funktionen können statt mit "N" auch mit "A" durchgeführt werden, z.B. A.Middle(3,9) oder A.Substitute("alt", "A"). Auch wenn die bei einer Berechnung erzeugten Feldnamen zu lange geraten sind (z.B. beim Befehl Sum Attributes), können Sie diese mittels des Alias umbenennen.
- Apply: Klicken Sie auf diese Schaltfläche, um die ausgewählten Felder mittels der Avenue-Funktion in Name umzubenennen. Sie können diesen Vorgang beliebig oft mit beliebigen Funktionen wiederholen.
- Klicken Sie auf um die Änderungen an den Feldnamen endgültig vorzunehmen. Nun wird entweder die dBASE- oder die entsprechende INFO-Datei (die zur Tabelle gehörige Definitionsdatei arc0000.nit im INFO-Ordner kann mithilfe der Datei arc.dir gefunden werden) mit direktem Schreibzugriff geöffnet. Falls dies nicht möglich ist (da z.B. ein anderer Benutzer oder ein anderes Programm auf die Datei zugreift), wird der Befehl mit einer Fehlermeldung abgebrochen. Nun wird der neue Feldname direkt in der Datei geändert (dies benötigt nur Sekundenbruchteile).
Wenn Sie ein Feld umbenennen, das in der Legende eines Themas als Klassifikationsfeld verwendet wird, wird diese Legende ebenfalls automatisch angepasst (es werden alle Views und Layouts des Projekts überprüft).
Hinweis: Wenn Sie irrtümlich mehreren Feldern in der gleichen Tabelle den selben Namen zugewiesen haben, erscheint eine entsprechende Warnmeldung. Wenn Sie diese mit bestätigen, erzeugen Sie doppelte Feldnamen, was in der Folge zu Problemen und Fehlern führen könnte. Brechen Sie den Vorgang sicherheitshalber mit ab und benennen Sie eines der doppelten Felder um.
- In der Statuszeile wird abschließend die Anzahl der umbenannten Felder angezeigt sowie die Anzahl der Klassifikationsfelder in Legenden, die ebenfalls umbenannt werden mussten.
© 2003 WLM Klosterhuber & Partner OEG