Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: C_T am 08.09.06 - 13:06:23

Titel: Notes und rechnen .......
Beitrag von: C_T am 08.09.06 - 13:06:23
Hi@all habe eine Tabelle in  der verschiedene Felder miteinander verrechnet werde. Das problem ist ads so ca. 70-80% dieser Felder nicht mal anfangen zu rechnen.
Vielleciht weis jemand von euch ja rat. ich wäre euch sehr dankbar dafür.

Z.B. hier

_A=@if(@IsError((Anschaffung_1));0;@ToNumber(Anschaffung_1));
_B=@If(@IsError((ND_1));0;@ToNumber(ND_1));
_C=@If(@IsError((AktMo_1));0;@ToNumber(AktMo_1));

field Abschreibung_1:=_A/_B/12*(12-_C+1);

Ich habe zig Artenversucht dies umzuschreiben, aber es klappt irgendwie nciht habe acuh schon nen @prompt dazwischen gesetzt aber er gibt mir "" aus. mit einer "Deklaration" der variablen und des Feldes habe ich es acuh  schon versucht, also

_A:=_A bzw auch schon mit _A:=0
field Anschaffung_1 :=Anschaffung_1

Bitte helft mir danke

CU
CT

Titel: Re: Notes und rechnen .......
Beitrag von: botschi am 08.09.06 - 13:21:29
Die Felder berechnet machen und die Formel FeldA + FeldB einfügen wäre zu einfach?
Oder @tonumber(FeldA) + @tonumber(FeldB).

Ob die Felder in einer Tabelle sind oder nicht spielt meiner Meinung nach keine Rolle.
Titel: Re: Notes und rechnen .......
Beitrag von: C_T am 08.09.06 - 13:26:06
Die Felder sind berechnet
die Maske steht auf automatisch berechnet
und die Felder selbst sind noch bei validierung berechnet

Mein Probelm ist das Notes scheinbar mit etwas komplizierteren Formeln wie oben angegeben:

_A/_B/12*(12-_C+1);

überfordert ist.

Kann mir wer helfen??
Titel: Re: Notes und rechnen .......
Beitrag von: eknori am 08.09.06 - 13:28:57
Zitat
_A/_B/12*(12-_C+1);

Mache doch mal eine saubere Trennung des MINUS Zeichens nach der 12. Scheint mir, als ob Notes das als zusammengesetzten String interpretiert. Mache diese trennung gleich bei allen rechenoperationen

_A / _B / 12 * (12 - _C + 1);
Titel: Re: Notes und rechnen .......
Beitrag von: C_T am 08.09.06 - 13:36:16
@eknori

Gute Idee Keinerlei resultat



oder hat jemand nen Link wie ich ne Excelsheet LEICHT und relativ SCHNELL in Notes einbinde als wirklcihes ExcelSheet????
Titel: Re: Notes und rechnen .......
Beitrag von: flaite am 08.09.06 - 13:46:36
Ich kann es mir nicht vorstellen.
Vielleicht ist _C ein String?

Versuch erstmal die Rechenoperation in Einzelschritte zu zerlegen:
Code
erg1 = 12-_C+1;
field Abschreibung_1:=_A/_B/12*erg1;
Z.B.
Titel: Re: Notes und rechnen .......
Beitrag von: C_T am 08.09.06 - 13:54:48
Bei diesem Code:
_A=@if(@IsError((Anschaffung_1));0;@ToNumber(Anschaffung_1));
_B=@If(@IsError((ND_1));0;@ToNumber(ND_1));
_C=@If(@IsError((AktMo_1));0;@ToNumber(AktMo_1));
erg1 = 12-_C+1;
field Abschreibung_1:=_A/_B/12*erg1;


Da schmeist der mir folgenden Fehler raus:


Titel: Re: Notes und rechnen .......
Beitrag von: flaite am 08.09.06 - 14:08:52
schreib das mal um:
Code
field Abschreibung_1:=@toNumber(_A)/@toNumber(_B)/12*@toNumber(erg1);
Titel: Re: Notes und rechnen .......
Beitrag von: C_T am 08.09.06 - 14:15:35
leider Klappt es so auch nicht da bekomme ich die selbe fehlermeldung wie vorher:
_A=@if(@IsError((Anschaffung_1));0;@ToNumber(Anschaffung_1));
_B=@If(@IsError((ND_1));0;@ToNumber(ND_1));
_C=@If(@IsError((AktMo_1));0;@ToNumber(AktMo_1));
erg1 = 12-_C+1;
field Abschreibung_1:=@toNumber(_A)/@toNumber(_B)/12*@toNumber(erg1);

Und wenn ichs sos chreibe kommt mal wieder nix:

_A=@if(@IsError((Anschaffung_1));0;@ToNumber(Anschaffung_1));
_B=@If(@IsError((ND_1));0;@ToNumber(ND_1));
_C=@If(@IsError((AktMo_1));0;@ToNumber(AktMo_1));

field Abschreibung_1:=@toNumber(_A)/@toNumber(_B)/12*(12 - @toNumber(_C) + 1);

Titel: Re: Notes und rechnen .......
Beitrag von: LN4ever am 08.09.06 - 15:12:48
Wenn du eine Excel-Datei als OLE-Objekt in ein RT-Feld setzst und in der Excel-Tabelle den relevanten Zellen entsprechende Namen gibst, dann gibt es einen direkten Austausch der Daten mit gleichnamigen Feldern im Notes-Dokument.
Titel: Re: Notes und rechnen .......
Beitrag von: VB3Bernd am 08.09.06 - 15:44:04
Probiers mal damit:

_A := @if(@IsError((Anschaffung_1));0;@ToNumber(Anschaffung_1));
_B := @If(@IsError((ND_1));0;@ToNumber(ND_1));
_C := @If(@IsError((AktMo_1));0;@ToNumber(AktMo_1));

_Abschr := @toNumber(_A)/@toNumber(_B)/12*(12 - @toNumber(_C) + 1);
field Abschreibung_1:= @if(@iserror(_Abschr) ; 0 ; _Abschr)

Grüße
Bernd
Titel: Re: Notes und rechnen .......
Beitrag von: C_T am 11.09.06 - 08:34:02
Danke erstmal für eure antworten aber hat bisher immernoch nicht geklappt:

@Bernd
Ich habe das auch grad so versucht wie du sagtest aber ich konnte hinter dem _A kein := sondern nur nen = machen (Fehler = "Keine Haupt- oder Auswahlausdruck in Formel") also sieht meine Formel so aus

_A = @if(@IsError((Anschaffung_1));0;@ToNumber(Anschaffung_1));
_B := @If(@IsError((ND_1));0;@ToNumber(ND_1));
_C := @If(@IsError((AktMo_1));0;@ToNumber(AktMo_1));

_Abschr := @toNumber(_A)/@toNumber(_B)/12*(12 - @toNumber(_C) + 1);
field Abschreibung_1:= @if(@iserror(_Abschr) ; 0 ; _Abschr)


klappt trotzdem net

Kann mir vielleicht jemand verstädnlcih und notes anfängertauglich erklären wie ich eine Excelworksheet auch als excel worksheet in eine datenbank bringe?? So das ich die Worksheet direkt darin sehe und auch bearbeiten kann und da die Felder darin auch ale Excelfelder bearbeitet werden??

Oder hat jemand noch ne Idee wegen der Berechnung??

Vielen Danke

Im Vorraus wie auch an die die schon geholfen haben.

Titel: Re: Notes und rechnen .......
Beitrag von: LN4ever am 11.09.06 - 09:14:20
In Antwort 9 bin ich schon auf die EXCEL-Alternative eingegangen.

Für das Rechnen - vor allem in einer Maske, deren Felder noch nicht vollständig ausgefüllt wurden - empfähle sich folgender Weg:

Bedingung:=@IF(@IsNumeric(Anschaffung_1) & @IsNumeric(ND_1) & @IsNumeric(AktMo_1);@True;@False);

REM "Wert ist die Abschreibung im Jahr der Anschaffung";
Wert:=@If(Bedingung;Anschaffung_1 / ND_1 / 12 * (12 - AktMo_1);0);

FIELD X:=@If(@IsError(Wert);0;Wert);
@True

Das abschließende @True ist nur dafür da, damit du einen Hauptausdruck hast.

Damit wird es funktionieren.

Titel: Re: Notes und rechnen .......
Beitrag von: C_T am 11.09.06 - 09:33:30
@LN4ever

Das habe ich mitbekommen nur ich habe absolut keine Ahnung wie ich das implementieren soll. Kannst du mir irgendwie nen Link schicken wo das Verständlich erklärt ist?

Bzw mir genau sagen wie das Thema heist unter dem ich das finden könnte??

Danke

P.S. Deine Idee hat leider nicht geklappt er gibt mir den Wert 1 aus und ich habe mit @isnumber gearbeitet (Arbeite mit Version 6) da habe ich in der Formelsprache kein Isnumeric gefunden.

Titel: Re: Notes und rechnen .......
Beitrag von: LN4ever am 11.09.06 - 10:03:52
Wenn bei dir dort immer 1 steht, dann scheint dein Formelversuch in einer Eingabeumsetzungsformel stattzufinden (du wirfst ja den Wert @True aus).

Wenn das so ist, dann reduziert sich das Rechenkonstrukt natürlich zu

Bedingung:=@IF(@IsNumeric(Anschaffung_1) & @IsNumeric(ND_1) & @IsNumeric(AktMo_1);@True;@False);

REM "Wert ist die Abschreibung im Jahr der Anschaffung";
Wert:=@If(Bedingung;Anschaffung_1 / ND_1 / 12 * (12 - AktMo_1);0);

@If(@IsError(Wert);0;Wert)

Zum EXCEL:
In der Maske: ERSTELLEN OBJEKT EXCEL-DATEI

Nachteil dieser Methode - ich will es gleich sagen: wenn du ein OLE-Objekt in eine Maske einbindest, wird die Maske mit dem Dokument gespeichert.
Titel: Re: Notes und rechnen .......
Beitrag von: VB3Bernd am 11.09.06 - 12:20:10
Hallo C_T,

wenn ich Dich recht verstanden habe willst Du, dass Notes in einer Tabelle rechnet und zwar hast Du dabei verschiedene Eingabefelder ( "Anschaffung_1", "ND_1" und "AktMo") und ein Ergebnisfeld ("Abschreibung_1").

Setze nun die Eingabefelder auf "Zahl" und "Bearbeitbar" und das Ergebnisfeld auf "Zahl" und "Berechnet".

In das Ergebnisfeld "Abschreibung_1" schreibst Du dann die Formel (an die Stelle "Wert"):

_A := @if(@IsError((Anschaffung_1));0;@ToNumber(Anschaffung_1));
_B := @If(@IsError((ND_1));0;@ToNumber(ND_1));
_C := @If(@IsError((AktMo_1));0;@ToNumber(AktMo_1));

_Abschr := @toNumber(_A)/@toNumber(_B)/12*(12 - @toNumber(_C) + 1);

@if(@iserror(_Abschr) ; 0 ; _Abschr)

Das Ergebnis ist solange " 0 " bis erstens alle Eingabefelder erfasst sind und 2. Du im Feld "ND_1" nicht " 0 " reintippst (sonst wird durch "0" dividiert und das ergibt einen ERROR).

Damit MUSS es funktionieren, ich habs bei mir getestet.

Wenn Du hier mit OLE-Objekten in Notes arbeitest, kannst Du Dir überlegen, es gleich direkt in Excel zu bearbeiten, dazu brauchst Du IMHO Notes nicht wirklich. Notes wird meiner Meinung nach erst interessant, wenn Du mit Workflows bzw. mit Auswertungen (über Ansichten) und mit Zugriffsrechten arbeitest.

Viele Grüße
Bernd
Titel: Re: Notes und rechnen .......
Beitrag von: C_T am 11.09.06 - 14:27:57
Ich möchte euch danke das Thema hat sich erledigt Vielen Danke nochmal an alle die geholfen haben.

P.S.

Spitzen Forum