Antworten auf deine Fragen:
Neues Thema erstellen

Berechnung einer Wenn/Dann Funktion in einem Adobe Formular

Nic1703

Noch nicht viel geschrieben

Guten Morgen, Ihr Lieben,
ich verzweifele gerade an einer Wenn/Dann Funktion - wenngleich ist schon viel gegooglet und auch ganz viel gefunden habe, aber nichts funktionierte.
Hoffe, ihr könnt mir helfen.

Alsoooo

Wenn die Produktivquote Vorjahr_M "0" ist, dann soll auch die Auslastungsgrad_M "0" sein. Sollte Sie > als "0", dann soll die Auslastungsgrad das Ergebnis aus = Betriebsstunden_M / Produktivstunden_M sein

Folgende Formel habe ich jetzt zum Schluss eingegeben, aber funktioniert auch nicht, das Feld bleibt leer:

var W = this.getField("Produktivität Vorjahr_M").value;
var X = this.getField("Betriebsstunden_M").value;
var Y = this.getField("Produktivität_M").value;
var Z = this.getField("Auslastungsgrad_M").value

if (W = 0)
{
this.getField("Z").value = "0";
}
else (W >= 0)
{
this.getField("Z").value = this.getField("X").value / this.getField("Y").value;
};

Hillllfe, ich bin dankbar für jeden Tipp.

Herzliche Grüße

Nicole
 

Design & Layout

müsste das nicht

else if (W >= 0)
{
this.getField("Z").value = this.getField("X").value / this.getField("Y").value;
};

heißen?

oder

else {
if (W >= 0)
{
this.getField("Z").value = this.getField("X").value / this.getField("Y").value;
};
};
 
1. Umlaute in Feldnamen sind verboten: Produktivität Vorjahr_M
2. Wenn es vier Felder gibt mit den Namen "Produktivitaet Vorjahr_M", "Auslastungsgrad_M", "Betriebsstunden_M" und "Produktivstunden_M", dann liefert der folgende Code das gewünschte Ergebneis

var W = this.getField("Produktivitaet Vorjahr_M");
var Z = this.getField("Auslastungsgrad_M");
var X = this.getField("Betriebsstunden_M");
var Y = this.getField("Produktivstunden_M");

if (W.value == "0" ) Z.value= "0";
if (W.value > "0" ) Z.value = X.value / Y.value;
 
@helge07
Supi, danke für den Tipp.

Vielleicht hat du auch eine weitere Hilfe für mich.

Ich möchte, wenn ich die Checkbox aktiviere ein Feld sichtbar wird und wenn die Checkbox leer ist, dass es nicht sichtbar ist. Momentan ist meine Einstellung folgende:


Dankeeee.
LG
Nicole
 
Ich möchte, wenn ich die Checkbox aktiviere ein Feld sichtbar wird und wenn die Checkbox leer ist, dass es nicht sichtbar ist
"Feld aktivieren" und "Feld deaktivieren" sind Ereignisse, die eine Aktion auslösen und keine Aktionen. Somit kann das nicht funktionieren. Vorschlag:
Verwende in der Checkbox als Auslöser "Maustaste loslassen" mit eine Aktion "JavaScript ausführen".
Der Code, um ein Feld "Feld1" ein/auszublenden ist dann:

var f = getField("Feld1");
if ( f.display == display.visible) f.display = display.hidden;
else f.display = display.visible;
 
Danke @helge07 - ich habe jetzt in der Checkbox genau das gemacht und anstelle von Feld1 meine "Anschaffungskosten_N" hinterlegt, aber leider verschwindet dann beides. Sowohl die Checkbox als auch das Textfeld.
 
ich habe jetzt in der Checkbox genau das gemacht und anstelle von Feld1 meine "Anschaffungskosten_N" hinterlegt, aber leider verschwindet dann beides.
Da kann ich die Ursache nur spekulieren. Hier ist mein Testformular mit meiner Lösung:

 
Hallo @helge07
also es funktioniert, aber leider falsch rum. Also das Feld wird ausgeblendet, wenn die Checkbox aktiviert ist. Soll aber "eingeblendet" werden, wenn die Checkbox aktiviert ist.

In deinem pdf funktioniert es aber richtig.. ich habe das Script nur kopiert und bei mir die Zuordnung angepasst. Menno. Aber du bist mir eine super Hilfe, ganz lieben Dank.
Wie löse ich das jetzt..?

 
es funktioniert, aber leider falsch rum.
Die Screenshots sehen korrekt aus. Über die Ursache des Fehlers kann ich natürlich nur spekulieren. Zur Eingrenzung der Ursache ist es evtl. nützlich,
- die Liste der tatsächlich vorhandenen Felder zu überprüfen
- Im JavaScript-Modus den kompletten JavaScript-Code anzeigen lassen und überprüfen
- Den JavaScript-Debugger einsetzen, um zu sehen, was da passiert.
 
@helge07 - mein Held..
Was ist denn ein JavaScript Modus und wo finde ich diesen und wo finde ich eine Liste der tatsächlich vorhandenen Felder? Gott, du weißt Sachen, ich bin doch nur eine kleine Assistentin, die einige Formulare erstellen soll. :0)
Aber das ist tatsächlich das umfangreichste Formular, an dem ich arbeite. Für die vorherigen Formulare, die ich auch bei Indesign gestaltet habe, habe ich mich durch Youtube und die Foren durchgearbeitet.
 
Was ist denn ein JavaScript Modus und wo finde ich diesen und wo finde ich eine Liste der tatsächlich vorhandenen Felder?
- Zum JavaScript-Modus gelangt man über Werkzeuge --> JavaScript
- Die Liste der vorhandenen Felder wird am rechten Fensterrand angezeigt, wenn man den Modus "Formular bearbeiten" aktiviert.

Nachtrag:
Die Adobe-Dokumentation zur PDF- und Acrobat JavaSkript-Technologie ist sehr umfangreich und eignet sich eher zum Nachschlagen. Für den Einstieg ist eventuell dieses Dokument brauchbar:

Die folgenden Bücher sind zwar schon älter, als Einstieghilfe trotzdem noch ganz nützlich:
Thomas Merz: Mit PDF ins Web, dpunkt
Sven Röttgen: Adobe Acrobat Formulare, Galileo Design
 
Zuletzt bearbeitet:
@helge07 Lieben Dank... ich schaue mir das mal an und frage meinen Vorgesetzen, ob ich mir eins der Bücher bestellen darf. :0)

Gibt es das pdf Dokument auch in Deutsch? Meine Englischkenntnisse reichen dafür leider nicht aus... :0(
 
Hallo Nic1703,
Geben Sie in ein Feld folgendes Berechnungsscript ein:
if(this.getField("Produktivität Vorjahr_M").value == 0)
{
this.getField("Auslastungsgrad_M").value = 0;
}
else
{
if(this.getField("Produktivität Vorjahr_M").value > 0)
{
this.getField("Auslastungsgrad_M").value = (this.getField("Betriebsstunden_M").value / this.getField("Produktivität_M").value).toFixed(2);
}
}
if(this.getField("Auslastungsgrad_M").value == "NaN")
{
app.alert("Division durch '0' ist nicht zulässig!\nGeben Sie in Produktivität M einen Wert ein!",1,0)
}
---
Ich habe die Felder ohne Bildung von Variablen berechnet. In meinem Beispiel hatten die Eingabefelder die Formatierung "Keine".
Mit freundlichen Grüßen
BDS-Oldie
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.869
Beiträge
1.539.640
Mitglieder
67.864
Neuestes Mitglied
sweetbonanza
Oben