Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet 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
-
Hast Du dir mal lastnum anzeigen lassen (in der Formel) ?
-
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
-
@prompt ist Dein Freund.
-
Wenn Deine Formel Recht hat, ist lastnum keine Zahl
-
@André,
das war mir schon klar, aber ich wollte Bennet langsam dahinführen, wie man so etwas überprüfen kann.
-
Uuuups, ich wollte nicht vorsagen :'(
Kannst Du mir verzeihen?
-
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
-
Dann fangen wir mal ganz vorne an:
Ist das Feld, welches in Spalte 0 angezeigt wird, vom Typ "numerisch" ?
Kannst Du mir verzeihen?
Ausnahmsweise ;)
-
jupp. das feld habe ich in der maske auf den typ zahl gesetzt.
-
Dann sollte es ja jetzt funzen.
-
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....
-
lastnum := @DbColumn("":"";"NoCache";"Medienverleih.nsf";"Benutzer";0);
Kleine Anmerkung: Die erste Spalte trägt die Nummer 1. Spalte 0 gibt es nicht.
Bernhard
-
@klauss
Daaaaanke :D
@Bennet
Die Fragezeichen werden sich bald in Erhellung umwandeln.
Jepp, Bernhard hat Recht.
-
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??!!!??
-
dann steht da auch die 1, was ja nicht stimmt.
Definiere bitte "da".
Beim nächsten Mal schlägt aber "IsNewDoc" zu.
-
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....
-
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.
-
ok, dann danke. ich werd mal sehen was ich da finde..
gruß bennet
-
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
-
Zum Bleistift :
http://atnotes.de/index.php?topic=40009.0 (http://atnotes.de/index.php?topic=40009.0)