Autor Thema: Sortierung in den Spalten fehlerhaft  (Gelesen 2899 mal)

Offline RalfK

  • Frischling
  • *
  • Beiträge: 49
  • Geschlecht: Männlich
Sortierung in den Spalten fehlerhaft
« am: 25.01.05 - 17:51:24 »
Hallo,

ich habe ein kleines Problem mit den Spalten einer Ansicht. Dort ist die führende Spalte die Kalenderwoche. Absteigend sortiert. Nur leider hängt er zB die 10 ans Ende der 1 das Ganze sieht in etwa so aus:

1
1
1
1
10
11
11
2
2
3
3
3
31

anscheinend zählt er nur den vorderen Wert einer Zahl. Wie kann ich das abstellen? Über die Eigenschaften scheints nicht zu klappen. Auch wenn ich die Kalenderwoche berechnen lasse, sortiert er weiterhin so. Auch wenn ich manuell zwischen auf und absteigend sortieren lasse.

Grüße
Ralf

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Sortierung in den Spalten fehlerhaft
« Antwort #1 am: 25.01.05 - 18:10:41 »
Ergebnis ist wohl Text und nicht Zahl ?

Mach mal einen @TextToNumber() drumherum.

Wenn also in der Spaltenformel z.B. steht:
Kalenderwoche

Dann schreibst Du
@TextToNumber(Kalenderwoche)
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Sortierung in den Spalten fehlerhaft
« Antwort #2 am: 25.01.05 - 18:43:23 »
Das ist eindeutig eine "Zahl" in einem Textfeld.
Ich kann nur dringend empfehlen, Werte immer entsprechend ihrer Datentypen zu speichern. Zahlen als Text machen Ärger (wie Du siehst), Datums-/Zeitangaben als Text sind VERHEEREND (insbesondere in internationalen Umgebungen, aber selbst lokal kann man nicht immer verhindern, dass der Anwender seine OS-Einstellungen "spassenshalber" mal ändert).

Bernhard

Glombi

  • Gast
Re: Sortierung in den Spalten fehlerhaft
« Antwort #3 am: 25.01.05 - 19:20:11 »
Wenn es denn unbedingt Zahl als Text sein muss, dann folgenden Workaround

@Right("0" + KW;2)

Das stellt eine führende Null voran, sofern die KW einstellig ist.

Andreas

Offline RalfK

  • Frischling
  • *
  • Beiträge: 49
  • Geschlecht: Männlich
Re: Sortierung in den Spalten fehlerhaft
« Antwort #4 am: 27.01.05 - 16:55:22 »
Verdammt. Ich bin aber auch sowas von blind. Da sucht man stundenlang ob irgendwie die Formeln nicht stimmen oder die Spalten in der Ansicht falsch sind und dann steht wirklich in diesem Feld ein kleines "T".  ::)

Dank für die Hilfe.  :)

Ralf

Offline RalfK

  • Frischling
  • *
  • Beiträge: 49
  • Geschlecht: Männlich
Re: Sortierung in den Spalten fehlerhaft
« Antwort #5 am: 28.02.05 - 09:06:25 »
Nach längerer Pause habe ich mich mal daran gesetzt und den Feldwert der Maske von Text auf Zahl geändert.

Danach habe ich ein RefreshAllDocuments drüber rennen lassen.

Leider ist die Sortierung immer noch nicht richtig, sondern weiterhin wie im ersten Post beschrieben.

Was nun?

Grüße
Ralf

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Sortierung in den Spalten fehlerhaft
« Antwort #6 am: 28.02.05 - 09:53:53 »
Du bist Dir wirklich 100% sicher, dass
  • Der Datentyp des Feldes in allen Dokumenten "Number" ist?
  • In der Spaltenformel nur der Name des Feldes steht?
  • Der programmatische Name in der Spalte eindeutig ist?
Falls ja, dann muss auch die Spaltensortierung funtionieren. Wenn Du nicht weiterkommst, kannst Du ja auch mal die DB mit 3-4 Testdokumenten hier reinhängen.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Sortierung in den Spalten fehlerhaft
« Antwort #7 am: 28.02.05 - 10:16:17 »
Genau das sind die Punkte, und mit einem RefreshAllDocuments wird kein Datentyp eines bestehenden Eintrages geändert, es sei denn, es ist ein berechnetes Feld.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline RalfK

  • Frischling
  • *
  • Beiträge: 49
  • Geschlecht: Männlich
Re: Sortierung in den Spalten fehlerhaft
« Antwort #8 am: 28.02.05 - 12:08:30 »
Hallo. Hier hab ich mal die Formel für das Kalenderfeld. Wie gesagt, zuerst war es ein Textfeld (berechnet). Damit wurden dann diverse Dokumente eingepflegt.

Ich habe jetzt das Feld in Zahl/berechnet geändert und ein neues Dokument erstellt. Trotzdem sortiert er es nicht und behandelt es wie einen Text. Hier die Formel (danke an Eknori für die Grundformel):


Zitat
FirstOfYear := @Date(@Year(Datum); 1; 1);
LastOfYear := @Date(@Year(Datum); 12; 31);
FirstDayNum := @Weekday(FirstOfYear);
LastDayNum := @Weekday(LastOfYear);

ISOFirstDayNum := @If(FirstDayNum = 1; 7; FirstDayNum - 1);
ISOLastDayNum := @If(LastDayNum = 1; 7; LastDayNum - 1);

IsFirstWeek := 7 - ISOFirstDayNum > 2;
IsLastWeek := 7 - ISOLastDayNum < 4;

ISOFirstDay := @If(IsFirstWeek;
            @Adjust(FirstOfYear; 0; 0; 1 - ISOFirstDayNum; 0; 0; 0);
            @Adjust(FirstOfYear; 0; 0; 8 - ISOFirstDayNum; 0; 0; 0));

ISOLastDay := @If(IsLastWeek;
            @Adjust(LastOfYear; 0; 0; 7 - ISOLastDayNum; 0; 0; 0);
            @Adjust(LastOfYear; 0; 0; -ISOLastDayNum; 0; 0; 0));


FirstWeekNextYear := @If(Datum > ISOLastDay; @Return(@Prompt([OK]; "FWNY";
@Text(@Year(D)+1) + "W01")); NULL);

LastWeekLastYear := (Datum - @Adjust(FirstOfYear; -1; 0; 0; 0; 0; 0))/60/60/24/7;
AdjustLastWeek := 1 - (LastWeekLastYear - @Integer(LastWeekLastYear));
@Set("LastWeekLastYear"; LastWeekLastYear + AdjustLastWeek);
@If(Datum < ISOFirstDay;
@Return(@Prompt([OK]; "LWLY"; @Text(@Year(Datum) - 1) + "W" +
@Text(LastWeekLastYear))); NULL);

NumWeeks := (Datum - ISOFirstDay)/60/60/24/7;

WeekAdjust := 1 - (NumWeeks - @Integer(NumWeeks));
ISOWeekNum := NumWeeks + WeekAdjust;

Pad:=@If(ISOWeekNum<10;"0";"");
Result := @Text(ISOWeekNum);

Result

Muss ich ansonsten in dieser Formel noch eine TexttoNumber(Result) einbauen?

Grüße
Ralf

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Sortierung in den Spalten fehlerhaft
« Antwort #9 am: 28.02.05 - 12:11:41 »
Mit

Result := @Text(ISOWeekNum);

verlangst Du doch selbst ausdrücklich, dass die ISOWeekNum in Text umgewandelt wird ...

Bernhard

Offline RalfK

  • Frischling
  • *
  • Beiträge: 49
  • Geschlecht: Männlich
Re: Sortierung in den Spalten fehlerhaft
« Antwort #10 am: 04.03.05 - 13:27:12 »
Dank dir vielmals. Klappt jetzt ohne Probleme. Hab das übersehen.

Ralf

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz