Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: BigB am 15.02.08 - 07:33:55

Titel: Errechenen einer Indexzahl
Beitrag von: BigB am 15.02.08 - 07:33:55
Guten Morgen,
hier mal der Befehl, welcher mir eine Indexnummer errechenen soll, anhand der letzen und größten Indexzahl die es derzeit in der Liste/DB gibt.
!!!!!
lastnum := @DbColumn("":"";"NoCache";"Medienverleih.nsf";"Benutzer";0);
nextnum := @If (!@IsNumber(lastnum);1;1+lastnum);
@If ( @IsNewDoc&@IsDocBeingSaved; nextnum;PersNr )
!!!!!
Leider funktioniert das nicht, er gibt mir bei jedem neu angelegten Benutzer die Zahl 1 zurück.

Jat jemand Rat....

Gruß Bennet
Titel: Re: Errechenen einer Indexzahl
Beitrag von: klaussal am 15.02.08 - 07:57:23
Hast Du dir mal lastnum anzeigen lassen (in der Formel) ?
Titel: Re: Errechenen einer Indexzahl
Beitrag von: BigB am 15.02.08 - 07:59:35
Nein, habe ich nicht. Ich muss dazu sagen, ich habe erst vor ca. 1 woche mit notesprogrammierung angefangen und habe noch fast keine ahnung davon. soll heißen ich weiß nicht wie ich mir die zahl anzeigen lassen kann. wäre für hilfe sehr dankbar.

gruß bennet
Titel: Re: Errechenen einer Indexzahl
Beitrag von: klaussal am 15.02.08 - 08:04:04
@prompt ist Dein Freund.
Titel: Re: Errechenen einer Indexzahl
Beitrag von: DerAndre am 15.02.08 - 08:22:33
Wenn Deine Formel Recht hat, ist lastnum keine Zahl
Titel: Re: Errechenen einer Indexzahl
Beitrag von: klaussal am 15.02.08 - 08:24:10
@André,

das war mir schon klar, aber ich wollte Bennet langsam dahinführen, wie man so etwas überprüfen kann.
Titel: Re: Errechenen einer Indexzahl
Beitrag von: DerAndre am 15.02.08 - 08:29:32
Uuuups, ich wollte nicht vorsagen  :'(
Kannst Du mir verzeihen?
Titel: Re: Errechenen einer Indexzahl
Beitrag von: BigB am 15.02.08 - 08:31:22
danke, ich habe die zahl versucht auszulesen.....bekomme aber keine wert.....mag daran liegen, das es keine zahl ist...wenn ich aber nun versuche den auszulesenden wert mit "@texttonumber" umzuwandeln trägt er mir dann nen @error in das feld und es kommt auch keine meldung mehr über das @promt...... bei mir entwickeln sich gerade sehr viele fragezeichen im kopf.....

Gruß bennet
Titel: Re: Errechenen einer Indexzahl
Beitrag von: klaussal am 15.02.08 - 08:35:02
Dann fangen wir mal ganz vorne an:

Ist das Feld, welches in Spalte 0 angezeigt wird, vom Typ "numerisch" ?

Zitat
Kannst Du mir verzeihen?
Ausnahmsweise  ;)
Titel: Re: Errechenen einer Indexzahl
Beitrag von: BigB am 15.02.08 - 08:37:31
jupp. das feld habe ich in der maske auf den typ zahl gesetzt.
Titel: Re: Errechenen einer Indexzahl
Beitrag von: klaussal am 15.02.08 - 08:38:56
Dann sollte es ja jetzt funzen.
Titel: Re: Errechenen einer Indexzahl
Beitrag von: BigB am 15.02.08 - 08:40:21
schön wäre es.....das es von der formel her klappen sollte habe ich vermutet, doch leider geht es nicht und ich habe keine ahnung warum....
Titel: Re: Errechenen einer Indexzahl
Beitrag von: koehlerbv am 15.02.08 - 08:41:12
lastnum := @DbColumn("":"";"NoCache";"Medienverleih.nsf";"Benutzer";0);

Kleine Anmerkung: Die erste Spalte trägt die Nummer 1. Spalte 0 gibt es nicht.

Bernhard
Titel: Re: Errechenen einer Indexzahl
Beitrag von: DerAndre am 15.02.08 - 08:42:58
@klauss

Daaaaanke  :D

@Bennet

Die Fragezeichen werden sich bald in Erhellung umwandeln.

Jepp, Bernhard hat Recht.


Titel: Re: Errechenen einer Indexzahl
Beitrag von: BigB am 15.02.08 - 09:35:28
das ist der derzeitig drinstehende code.....wo ich der meinung bin, dass ich all eure ratschläge und hilfen berücksichtigt habe.....

lastnum := @TextToNumber(@DbColumn("":"";"NoCache";"Medienverleih.nsf";"Benutzer";1));
@Prompt([Ok];"Erinnerung";lastnum);
nextnum := @If (!@IsNumber(lastnum);1;1+lastnum);
@Prompt([Ok];"Erinnerung";nextnum);
@If ( @IsNewDoc&@IsDocBeingSaved; nextnum;PersNr )

das problem ist, ich bekomme beim ersten eintrag die zahl 1, was ja richtig ist und auch so sein soll, doch wenn ich eine zweiten eintrag machen, dann steht da auch die 1, was ja nicht stimmt.

Hilfe??!!!??
Titel: Re: Errechenen einer Indexzahl
Beitrag von: klaussal am 15.02.08 - 09:49:52
Zitat
dann steht da auch die 1, was ja nicht stimmt.

Definiere bitte "da".

Beim nächsten Mal schlägt aber "IsNewDoc" zu.
Titel: Re: Errechenen einer Indexzahl
Beitrag von: BigB am 15.02.08 - 09:55:52
ok.
gehen wir mal davon aus, dass in der db kein benutzer angelegt ist. wenn ich nun den ersten benutzer anlege, dann steht als usernummer eine 1. wenn ich dann einen zweiten benutzer anlege, dann sollte eigentlich eine 2 stehen, da er nachschaut ob welches der höchste benutzer in der db ist und addiert zu seiner nummer 1 dazu.....
leider klappt das aber nicht, es wird immer die usernummer 1 angelegt....
Titel: Re: Errechenen einer Indexzahl
Beitrag von: klaussal am 15.02.08 - 09:59:18
Aha, wir kommen der Sache näher.

Vergiss das, was du vorhast. Das Thema Nummerierung in Notes hatten wir schon sooo oft,
es hängt  - glaube ich -  allen zum Halse heraus. Es geht schlichtweg nicht. Benutze bitte die
Forumssuche, da gibt es genug Beiträge.
Titel: Re: Errechenen einer Indexzahl
Beitrag von: BigB am 15.02.08 - 10:01:24
ok, dann danke. ich werd mal sehen was ich da finde..

gruß bennet
Titel: Re: Errechenen einer Indexzahl
Beitrag von: koehlerbv am 15.02.08 - 10:06:07
Abgesehen davon: @dbColumn gibt eine Liste zurück, nicht einen Einzelwert. Und wenn die Ansicht aufsteigend sortiert ist, steht eben die 1 oben - immer.

Bernhard
Titel: Re: Errechenen einer Indexzahl
Beitrag von: klaussal am 15.02.08 - 10:06:12
Zum Bleistift :

http://atnotes.de/index.php?topic=40009.0 (http://atnotes.de/index.php?topic=40009.0)