Hallo Forum,
gibt es eine Möglichkeit, eine Attributtabelle in AV so darzustellen, daß sie erst nach Spalte 1 und dann nach Spalte 2 alphabetisch sortiert wird (In Excel gibt es diese Möglichkeit)?
Oder - alternativ -: Wie müßte ein Script aussehen, daß nicht nur eine Spalte alphabetisch sortiert, sondern auch zur markierten Zeile springt?
Danke und Gruß,
Maggie
gibt es eine Möglichkeit, eine Attributtabelle in AV so darzustellen, daß sie erst nach Spalte 1 und dann nach Spalte 2 alphabetisch sortiert wird (In Excel gibt es diese Möglichkeit)?
Oder - alternativ -: Wie müßte ein Script aussehen, daß nicht nur eine Spalte alphabetisch sortiert, sondern auch zur markierten Zeile springt?
Danke und Gruß,
Maggie
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Gast am Di., 06.04.2004 - 15:37
PermalinkNein, ArcView ist (leider?) keine Tabellenkalkulationsprogramm.
> Oder - alternativ -: Wie müßte ein Script aussehen,...
Quick and dirty:
theTable = av.GetActiveDoc
theVTab = theTable.GetVTab
aField = theVTab.FindField("Msgtype")
theTable.Sort( aField, FALSE )
theSel = thevTab.GetSelection
If(theSel.Count > 0) then
num_rec = theSel.GetNextSet(-1)
num_row = theTable.ConvertRecordToRow(num_rec)
theTable.ShowRow (num_row+1)
End
Gespeichert von Gast am Mi., 07.04.2004 - 09:19
Permalinksonst kannst du es auch mal mit der Extension "Table Sorter Pro" (http://arcscripts.esri.com/details.asp?dbid=12427) versuchen. Damit läßt sich eine Tabelle nach mehreren Feldern sortieren.
Gruß Asmus
Gespeichert von Maggie am Do., 08.04.2004 - 11:19
Permalinkdanke für den Code, nur leider kriege ich immer eine Fehlermeldung: "Falsche Klasse für Parameter 1 der Anforderung Sort. Erhalten: Nil, Erwartet: Field.
Bei OK, öffnet sich das Script und der Cursor steht an der markierten Stelle (!).
Ich frage mich, was mache ich bloß wieder falsch? - Du merkst schon, ich bin kein Skript-Profi...
Ich bin dankbar für alle Tipps!
Gruß,
Maggie
theTable = av.GetActiveDoc
theVTab = theTable.GetVTab
aField = theVTab.FindField("Msgtype")
theTable.(!)Sort(aField, FALSE)
theSel = thevTab.GetSelection
If(theSel.Count > 0) then
num_rec = theSel.GetNextSet(-1)
num_row = theTable.ConvertRecordToRow(num_rec)
theTable.ShowRow (num_row+1)
End[b][/b]
Gespeichert von Juergen Evert am Do., 08.04.2004 - 12:24
PermalinkWenn "erhalten nil" in der meldung auftaucht, so wurde ein Objekt nicht gefunden. Parameter 1 von sort ist das Feld. Er hat also das Feld ("Msgtype") nicht gefunden. A) es existiert nicht in der Tabelle oder B)du hast dich beim Feldnamen verschrieben oder C) du sprichst die falsche Tabelle an.
Gruß
Jürgen
Gespeichert von Maggie am Di., 13.04.2004 - 11:14
Permalinkdanke für den Hinweis!
Wenn ich mit den Fehlermeldungen von AV klarkäme, hätte ich auch selber drauf kommen können.
Es klappt prima!
Gruß,
Maggie