Autor Thema: GELÖST ....1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)  (Gelesen 15310 mal)

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
da isser wieder....

also mein heutiges Problem:
Ich ziehe mir via Get Doc Field einen Wert aus einer bestimmten Maske (funktioniert hervorragend)
Ich schreibe diesen Wert in ein Feld in meiner Maske (funktioniert auch)
und dann addiere ich 1 zu diesem Wert und schreibe ihn in ein anders Feld (funktioniert nicht)
und wenn das passiert ist schreibe ich den Wert via SetDocField wieder in die alte Maske
(ich will also einfach nur den wert hochzählen)

es Handelt sich um eine Schaltflächenaktion mit folgendem Code:
Code
FIELD IVP_GeräteAnzahl:=@GetDocField(IVP_UNID;"Gerät_Anzahl_Vorhanden");
FIELD IVP_GeräteAnzahl2:=IVP_GeräteAnzahl +1;
@SetDocField(IVP_UNID ; "Gerät_Anzahl_Vorhanden"; IVP_GeräteAnzahl2)

Es passiert einfach nix im Feld "IVP_GeräteAnzahl2" auch keine Fehlermeldung, einfach gar nix!
alle beteiligden Felder sind vom Typ: "Zahl"
Alternativ hab ich auch schon mit der Codezeile versucht:
Code
FIELD IVP_GeräteAnzahl2:=@Sum(IVP_GeräteAnzahl ; 1);

Wer hat ne Idee??


[edit] Shiftatste benutzt....
« Letzte Änderung: 23.04.08 - 15:48:47 von Freshmeat »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #1 am: 18.04.08 - 11:55:48 »
Versuch das Ganze mal so:

anzahl:=@GetDocField(IVP_UNID;"Gerät_Anzahl_Vorhanden");
FIELD IVP_GeräteAnzahl:=anzahl
FIELD IVP_GeräteAnzahl2:=anzahl + 1;
@SetDocField(IVP_UNID ; "Gerät_Anzahl_Vorhanden"; anzahl + 1)

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

klaussal

  • Gast
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #2 am: 18.04.08 - 12:26:24 »
Mich würden noch die Umlaute stören.

Ich benutze grundsätzlich keine Umlaut für Feldbezeichnungen, etc, pp.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #3 am: 18.04.08 - 12:34:44 »
Mich würden noch die Umlaute stören.

Stimmt. Könnte auch das Problem sein.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #4 am: 19.04.08 - 12:45:00 »
mhhh

 also auch wenn ich diesen Doder verwende bleibt das Feld leer
Code
anzahl:=@GetDocField(IVP_UNID;"Gerät_Anzahl_Vorhanden");
FIELD IVP_Anzahl:=anzahl;
FIELD IVP_Anzahl2:=anzahl + 1;

wenn ich aber stattdessen nur so zum Test diesen Coder verwende
Code
anzahl:=@GetDocField(IVP_UNID;"Gerät_Anzahl_Vorhanden");
FIELD IVP_Anzahl:=anzahl;
FIELD IVP_Anzahl2:=anzahl + "1";

wird der Wert ganz sauber in das Feld geschrieben und eine 1 angehangen also sollt die Wertübergabe schonmal funktionieren!

ich bekomme auch nach wie vor keine Fehlermeldung.
Eigentlich muss man doch auch bei dem Feld bzw. bei der betreffenden Maske keine zusätzlichen Einstellungen vornehmen damit eine einfache Addition funktioniert oder?

PS: das mit den umlauten ist nur ein optisches Problem. Notes hat sie bis jetzt immer sauber verarbeitet. Ich habe sie aber an dieser Stelle trozdem entfernt nur um ganz sicher gehen zu können!

hat vllt noch jemand einen Tipp für mich?

Danke an alle und schönes WE 

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #5 am: 19.04.08 - 14:43:10 »
Hier muss aber irgendetwas völlig schief laufen ...
Ist "anzahl" über eine Zahl? Dürfte es eigentlich nicht sein, denn dann würde
FIELD IVP_Anzahl2:=anzahl + "1"
zu einer Fehlermeldung führen, da man zu einer Zahl keinen String addieren kann und darf.

Weiters: Wie und wo wird diese Aktion überhaupt ausgelöst?

Und noch eine wichtige Anmerkung: Du scheinst hier irgendeinen Wert Datenbank-global inkrementieren zu wollen. Das wird *so" überhaupt nicht funktionieren, sowie mehr als eine Person mit der Datenbank arbeitet und vor allem nicht, wenn es Repliken dieser Datenbank gibt.

Bernhard

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #6 am: 19.04.08 - 15:17:30 »
"anzahl" ist eine Zahl die via GetDocField aus einem Feld des Types Zahl gelesen wird (also eine Zahl)
die Zahl wird ja (nur zur Kontrolle) auch im Feld "IVP_Anzahl" angegeben
was ganz problemlos funktioniert
warum die Addition nicht Funktioniert ist mir absolut unklar!

zu deiner Anmerkung:
Ja ich will einen Wert inkrementieren, allerdings ist die Datenbank nur für einen einzigen Benutzer vorgesehen, es werden deshalb auch keine Repliken zugelassen.
Wenn du allerdings noch eine elegantere Lösung zum hochzählen der Werte hast dann würde ich die gerne umsetzten.

Gruß Martin

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #7 am: 19.04.08 - 15:40:58 »
Dein Fehler muss ein ganz "dämlicher" sein, wo sich hinterher alle vor den Kopf schlagen werden, warum das nicht gleich zu erkennen war. Aber: Das kann man nur herausfinden, wenn man Dein Konstrukt komplett sieht - und da fehlen noch Informationen. Ich denke, hier kommen wir nur weiter, wenn Du die DB hier einstellst. Zum "Stochern" hat ja kaum jemand Zeit ...

Zu der "forlaufenden Nummer" (das ist übrigens DAS rote Tuch der Szene  ;)) hier ein Link - dort wirst du sehr viel weiteren Lesestoff finden, den zu studieren es sich lohnt:
Linksammlungen bei AtNotes
Und das ist nur ein Auszug  ;D

Wenn Du schreibst, "allerdings ist die Datenbank nur für einen einzigen Benutzer vorgesehen", dann gewöhne Dir das ganz schnell ab: Diese Aussage ist so sinnhaft wie "nachts ist es kälter als draussen". Sie stimmt nicht. Das wird sich ändern, aber Dein Code bleibt.

Bernhard

PS: By the way - für Dein Vorhaben würde *ich* diese Anzahl on the fly bestimmen und darstellen.

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #8 am: 19.04.08 - 15:52:13 »
ACHTUNG MISSVERSTÄNDNISS!

ich will keine Fortlaufenden nummern generieren! ich habe mit einer Maske ein Gerät angelegt und nun will ich zu dem Gerät einen Inventurposten anlegen (IVP) da wir viele geräte in großen Stückzahlen haben! Es wird also für jedes einzelne Stück ein neuer IVP angelegt (der dann auch eine Inventarnummer generiert usw...) und gleichzeitig soll beim anlegen des IVP die anzahl der schon Vorhandenen IVP eines best. Gerätes aus dieser Maske ausgelesen werden und um eins vergrößert wieder zurückgeschrieben werden, so dass ich am ende nur die Maske eines best. Gerätes anklicke und schon weiß ich wie viele IVP dieses GEräts ich habe (und dank eines embedded Views kann ich die dann auch direkt anklicken)

Das was du mit deinem PS meinst ist mir nicht klar!

gruß Martin

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #9 am: 19.04.08 - 15:55:54 »
Das läuft aber trotzdem exakt auf das Problem der fortlaufenden Nummer heraus und ist kein Missverständnis, Martin.
Und gerade, weil es um die Summe geht, würde ich das "on the fly" machen: Beim Öffnen eines Dokuments bestimmst Du, wieviel Geräte diesen Typs in dieser Datenbank zu diesem Zeitpunkt bekannt sind.

Bernhard

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #10 am: 19.04.08 - 16:00:28 »
ok wie realisiere ich das mit dem Zählen on the fly?
mir fehlt dazu jeglicher Ansatz...
« Letzte Änderung: 23.04.08 - 11:48:06 von Freshmeat »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #11 am: 19.04.08 - 16:08:31 »
Stichwörter wären
@Elements und @dbLookup in Formelsprache
NotesDocumentCollection und NotesView.GetAllDocumentsByKey in LotusScript.

Mehr sage ich nicht dazu (wegen der Grundlage der Belegarbeit).

Bernhard

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #12 am: 21.04.08 - 08:11:43 »
Danke!
so werd ichs mal umsetzen!

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #13 am: 21.04.08 - 09:25:35 »
Hab es jetzt so Gelößt:

Code
@Elements(@DbLookup( "Notes" : "NoCache" ;""  : ""  ;  "IVP_GZ" ;Gerät_Bezeichnung  ; 1 ))

Danke für diese Elegante Lösung denn jetzt ist der Zählwert ja nicht mehr von den Masken abhängig sondern nur noch von den vorhandenen Datensätzen, und damit sogar mehrbenutzerfähig...

Juhu....


Also Danke an Alle!
Martin


Schade, zu früh gefreut...

folgendes funktioniert noch nicht:
ich will mir ja mit dieser Formel anzeigen lassen wie viele Geräte eines Types ich im Bestand habe, wenn ich nun aber ein Gerät zum Bestand hinzugefügt habe, dann wird diese Feld nur aktualisiert wenn ich die Gerätmaske editiere, ich will ja ber eigentlich dass diese Feld immer aktualisiert wird, also unabhängig davon ob ich die Maske editiere...

Gibt es eine Möglichkeit die Maske im Edit- Mode zu öffnen und sofort in den View only mode zu wechseln ohne dass das der Nutzer merkt?
« Letzte Änderung: 21.04.08 - 09:33:03 von Freshmeat »

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #14 am: 21.04.08 - 09:45:21 »
Versteh ich jetzt nicht?
Ist das Doc offen es wird was zugefügt und dann nicht aktualisiert? Oder:
Ist beim öffnen des Doc nach einem zufügen noch der alte Wert drin?
Bei zwei ist das Feld nicht berechnet zur Anzeige, oder?
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #15 am: 21.04.08 - 10:11:01 »
mhh das Feld ist Berechnet zur Anzeige (sollte also im moment in dem das Dok geöffnet wird berechnet werden oder?)
allerdings wird es erst aktualisiert wenn ich das Dok in den Edit Modus versetzte (Doppelklick) und Speichere, das reine versetzten in Edit-Mode bringt noch gar nichts!

was kann der Fehler sein?

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #16 am: 21.04.08 - 10:12:23 »
Was ist mit meiner ersten Frage?
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #17 am: 21.04.08 - 10:17:06 »
es geht um diesen Effekt:
Zitat
Ist beim öffnen des Doc nach einem zufügen noch der alte Wert drin?

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #18 am: 21.04.08 - 11:23:17 »
Timingproblem?
Nach dem erstellen ein View Refesh gemacht?
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Freshmeat

  • Junior Mitglied
  • **
  • Beiträge: 52
Re: 1 +1 = [ ] (warum will notes nicht so rechnen wie ich??)
« Antwort #19 am: 21.04.08 - 11:28:45 »
Ja im View ist bereits die Neue Anzahl vorhanden,
Selbst in dem Embedded view in der Maske in der auch der Zählwert ausgegeben wird ist der neue Eintrag vorhanden nur im Zählfeld selbst steht der neue Wert erstwenn ich es bearbeitet, abgespeichert und neu geöffnet habe

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz