Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: michael-r am 26.05.11 - 22:54:41

Titel: Feldwerte zählen
Beitrag von: michael-r am 26.05.11 - 22:54:41
Hi,

wie kann ich Feldwerte in einem Textfeld zählen und in ein berechnendes Feld packen?
Also Im Text Feld werden Namen nach Zeilen gelistet. Pro Zeile ein Name >> Wenn ich 3 Einträge habe will ich in einem neuen Feld 3 drin stehen haben.
Muss glaub ich eine @function sein.

Ich glaube ich mache schon zu lange ich stehe irgendwie neben mir ;).

MFG Michael
Titel: Re: Feldwerte zählen
Beitrag von: koehlerbv am 26.05.11 - 23:14:57
Wenn es ein Mehrfachwerte-Feld ist: @Elements.

Und bitte beachte: Es ist schei**egal, wie Du im Frontend (Maske) Deine Einzelwerte trennen lässt (Komma, Semikolon, neue Zeile or whatever - es zählt, was im Item selber drin steht.

Bernhard

PS: Wenn Du es in LotusScript brauchst:
UBound (DeinNotesDocument.DeinItemName) + 1

unter der Massgabe, dass ein "leeres" Feld auch "zählt". Wenn nicht, dann etwas aufwändiger - aber das bekommst Du einfach selber heraus.
Titel: Re: Feldwerte zählen
Beitrag von: michael-r am 27.05.11 - 16:33:56
Hi,

dank dir. War gestern doch zu spät, ich habe vergessen, das Feld muss ja auch als Zahl deklariert sein. Anderfalls kommt eine Fehlermeldung.

Klappt wunderbar.

MFG Michael
Titel: Re: Feldwerte zählen
Beitrag von: ghostmw am 27.05.11 - 16:57:29
Hi michael-r,

die Script-Variante von meinem Vorredner passt zu 99% immer.

Zitat
UBound (DeinNotesDocument.DeinItemName) + 1

Um aber auch zuverlässig in "schrägen" Umgebungen zu funktionieren, wäre folgendes die 100%ige Lösung.
"Schräg" bedeutet hier, wenn man eine andere Basis für Arrays als "default" 0 nimmt.
Das kann man mit dem Befehl "option base 1" tun.

Damit fangen Arrays bei Index 1 und nicht 0 an und der Code liefert falsche Werte, z.B. bei einem Array mit 1 Eintrag liefert es dann 2 statt 1.

Nur der Vollständigkeit halber der präzisere Code ...  ;)

UBound (DeinNotesDocument.DeinItemName) - LBound (DeinNotesDocument.DeinItemName) + 1

Titel: Re: Feldwerte zählen
Beitrag von: koehlerbv am 28.05.11 - 01:12:28
Aber wer macht denn sowas schräges, Marco?

Option Base kann man ja auf sonst was setzen, aber wo immer ich das bisher in Fremdcode gesehen habe, kam es an anderen Stellen zu Konflikten (da haben die "Entwickler" dann selber nicht mehr daran gedacht, was sie an anderer Stelle an Murks gemacht haben) und schon schepperte es.

Man einigt sich auf eine prinzipielle Option Base. Und da kann man es dann gleich bei der 0 belassen.

Prinzipiell hast Du aber natürlich vollkommen Recht! Man muss auf diese Falle gefasst sein.

Bernhard
Titel: Re: Feldwerte zählen
Beitrag von: michael-r am 29.05.11 - 19:05:35
Nochmal eine kleine Frage, ich habe eine Rolle in der DB über den Adminclient ohne Server Zugriff erstellt.
Jetzt soll im Menü nur angezeigt werden wenn der Benutzer die Rolle ADMIN hat: @IsNotMember("[ADMIN]";@UserRoles).

Erkennt das der Client nicht richtig, wenn ich die Rolle nicht über einen Server setze?

MFG Michael
Titel: Re: Feldwerte zählen
Beitrag von: michael-r am 29.05.11 - 19:17:17
Scheint so zu sein, ich habe gerade mit einem Prompt @UserRoles abgefragt und kein Ergebnis zurück erhalten.

Danke.
Titel: Re: Feldwerte zählen
Beitrag von: koehlerbv am 29.05.11 - 21:42:22
Nochmal eine kleine Frage, ich habe eine Rolle in der DB über den Adminclient ohne Server Zugriff erstellt.
Jetzt soll im Menü nur angezeigt werden wenn der Benutzer die Rolle ADMIN hat: @IsNotMember("[ADMIN]";@UserRoles).

Erkennt das der Client nicht richtig, wenn ich die Rolle nicht über einen Server setze?

MFG Michael

Hä? Kannst Du die Frage bitte nochmal in verständlicher Form formulieren?

Vorab:
Was hat der Admin-Client damit zu tun? ACL ist ACL ist ACL.
Hast Du das in einer lokalen DB gemacht? Wenn ja: Dir ist schon klar, unter welchen Umständen dann nur ACL-Einstellungen greifen?

Bernhard
Titel: Re: Feldwerte zählen
Beitrag von: michael-r am 29.05.11 - 21:47:27
Ja nein, war mit nicht klar... dann muss ich das über einen Server machen.
Der Admin Client hat damit zu tun, dass die DB diese Rolle nicht hatte und der Benutzer genauso wenig ;).

MFG Michael
Titel: Re: Feldwerte zählen
Beitrag von: koehlerbv am 29.05.11 - 21:51:52
Das musst Du überhaupt nicht über einen Server machen ... Und Du brauchst auch keinen Admin-Client für diesen Stunt. Bitte lies Dir da noch mal die Admin-Basics zum ACL-Management durch.

Lokale DBs verhalten sich hinsichtlich ACL jedoch anders als auf dem Server (magelns Informationen aus dem DD). Du möchtest hierzu auch Infos zur konsistenten ACL einziehen.

Bernhard
Titel: Re: Feldwerte zählen
Beitrag von: michael-r am 31.05.11 - 12:10:54
Hallo,

leider hat da nicht geklappt, aber danke für den Hinweis.
Ich habe die lokal gesetzt wie in der Deisgner Hilfe, auch versucht mit erzwingen der ACLs aber irgendwie bekomme ich immer keinen Wert zurück.

MFG Michael
Titel: Re: Feldwerte zählen
Beitrag von: ascabg am 31.05.11 - 12:40:26
Hallo,

Du hast also in der betreffenden Datenbank die "konsistente ACL" eingeschaltet.

Hast Du Dich dann auch nochmal neu angemeldet?
Und hat der aktuelle Benutzer auch gesetzte Roles?

Und immer dran denken, wenn mehr als 1 Role gesetzt ist, kommt ein Array zurueck und den kannst Du mittels eines @Prompt nicht ausgeben.


Andreas
Titel: Re: Feldwerte zählen
Beitrag von: michael-r am 31.05.11 - 19:44:23
Hi Andreas,

danke schön.
Von neustarten des Clients stand leider nichts drin. Ich habe das nun ein paar mal durchgefürt, setzen und neustarten. Und siehe da es klappt.

MFG Michael
Titel: Re: Feldwerte zählen
Beitrag von: koehlerbv am 31.05.11 - 22:00:07
Statt neu starten hätte eine Abmeldung der ID ausgereicht. Über die ACL und das Handling von Berechtigungen musst Du Dich echt nochmal gründlich schlau machen, Michael. Nix für ungut ...

Bernhard