Anfängerproblem

Die Möglichkeiten und Tücken von Formularen
USMK
Beiträge: 8
Registriert: 16.05.2011, 14:03

Anfängerproblem

Beitrag von USMK » 26.05.2011, 12:16

Hallo zusammen,

als Anfänger habe ich folgendes Problem:

in einem einseitigen Formular im LCD 8 soll die Anzahl der Felder (Darstellung in einem separaten Anzahlfeld) ermittelt werden, wenn in den Betragsfeldern 0 bis 22 ein Betrag > 0 enthalten ist.

Alles Durchhangeln durch die Hilfe hat mir den Weg nicht weisen können...

Wer von den Experten hat eine Lösung?

Danke im voraus

USMK


armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Anfängerproblem

Beitrag von armine » 26.05.2011, 17:17

Hallo USMK,

schau doch http://www.acronaut.de/view_topic.php?id=2457&forum_id=34&highlight=anzahl2 an. Wenn’s nicht hilft, lade doch dein PDF hoch.

vg armine

USMK
Beiträge: 8
Registriert: 16.05.2011, 14:03

Anfängerproblem

Beitrag von USMK » 27.05.2011, 07:22

Hallo armine,

danke für die schnelle Antwort. Die Zählfunktion "funktioniert" (Anlage).

Ein Problem bleibt: wie komme ich in der Tabelle auf 22 Zeilen?

Zusatzfrage: kann man für die Kalenderfunktion der Datumsfelder ein vom Tagesdatum abweichendes Startdatum irgendwo einstellen?

Vielen Dank für die Mühe!

USMK
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Anfängerproblem

Beitrag von armine » 27.05.2011, 09:20

Hallo USMK,

Wenn die Tabelle 22 Zeilen haben soll, dann muss man das bei der Zeile einstellen (in der Hierarchie die Zeile markieren, in Objekt > Bindung die Werte eingeben),

Ein Startdatum kann man durch ein Vorbelegen des Datumsfelds einstellen. Schlauer scheint mir, die Datumseingabe selbst in die Hand zu nehmen (siehe Hierarchie > Skripte und die Ereignisse change und exit der Datumsfelder).
Meine Einstellungen: Das Geburtsdatum kann zwischen dem 1.1.1900 und heute liegen, in der Tabelle sind sind Eingaben zwischen dem 1.1. des vergangenen Jahres und heute erlaubt.
Die Eingabe des Punkts kann man durch Komma oder ein Operationszeichen ersetzen und das laufende Jahr ergänzt sich beim Verlassen das Feldes.
Probiere einfach mal alles aus.

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

USMK
Beiträge: 8
Registriert: 16.05.2011, 14:03

Anfängerproblem

Beitrag von USMK » 27.05.2011, 09:47

Hallo armine,

vielen Dank für die fertige Lösung, sie funktioniert wie eine Eins.

Deinem Tip mit dem Kalender werde ich nach meinem Urlaub folgen...

Noch einmal vielen Dank!

USMK

USMK
Beiträge: 8
Registriert: 16.05.2011, 14:03

Anfängerproblem

Beitrag von USMK » 04.08.2011, 14:18

Hallo armine,

mein Feld Geburtsdatum im Formular hat den üblichen Wertebereich (das Skript ist für einen Neuling etwas unübersichtlich) und ist auch nicht mein Sorgenkind.

Da in der Tabelle Kosten aus dem abgelaufenen Monat eingetragen werden sollen, spart es manchen Klick, wenn der Monat des sich öffnenden Kalenders auf dem aktuellen Monat - 1 stehen würde.

Gibt es dafür eine Lösung?

Mit freundlichen Grüßen

USMK


armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Anfängerproblem

Beitrag von armine » 04.08.2011, 18:16

Hallo USMK,

Lösungen gibt es dafür sicher ganz viele. Meine ist: lege ein Datums-/Uhrzeitfeld an. Kopiere ins [font=courier new]initialize - (FormCalc, client)[/font]:

[font=courier new]$ = Stuff(Num2Date(Date2Num(Stuff(Num2Date(Date(), "YYYY-MM-DD"), 9, 2, "01"), "YYYY-MM-DD")-1, "YYYY-MM-DD"), 9, 2, "01")[/font]

Der Kalender steht auf dem 1. des Vormonats, immer.

Der Code ist nicht für ein Tutorial geschrieben, also die Erklärung:
Es wird das heutige Datum aufgerufen – eine Zahl (Tage seit dem 1.1.1900).
Die Zahl wird in ein Datum im Format "YYYY-MM-DD" umgewandelt.
Der Monatstag wird in "01" geändert.
Das modifizierte Datum wird wieder in eine Zahl umgewandelt und 1 abgezogen (letzter Tag des Vormonats).
Die Zahl wird in ein Datum im Format "YYYY-MM-DD" umgewandelt.
Der Monatstag wird in "01" geändert.

vg armine

USMK
Beiträge: 8
Registriert: 16.05.2011, 14:03

Anfängerproblem

Beitrag von USMK » 09.08.2011, 11:53

Hallo armine,

vielen Dank für Deine Lösung, die bezogen auf ein einzelnes Datumsfeld funktioniert.

Allerdings habe ich ja eine Tabelle (Anlage) mit 22 Zeilen, in der dann alle Felder mit dem Monat -1 vorbelegt werden und nicht benutzte Felder wieder gelöscht werden müssen. Kann man notfalls die Darstellung der Vorbelegung nicht solange ausblenden, bis man das Feld aktiviert hat?

Daher hatte ich ja gefragt, ob und wie man den Startmonat des Kalenders in den Datumsfelder in der Tabelle auf den lfd. Monat - 1 setzen kann.

Entschuldige, dass ich Dich noch einmal mit dem Problem nerve...

USMK


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Anfängerproblem

Beitrag von armine » 09.08.2011, 20:32

Hallo USMK,

nun weiß ich nicht, ob ich deine Frage richtig verstanden habe, aber die Antwort war schon fast fertig (Ansatz: Standard-Tabelle). Schau mal, was du brauchen kannst.
Wenn’s nicht reicht oder falsch ist, bitte nochmal melden.

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

USMK
Beiträge: 8
Registriert: 16.05.2011, 14:03

Anfängerproblem

Beitrag von USMK » 10.08.2011, 07:24

Hallo armine,

ich schildere meine Idee noch einmal neu:

beim Mausklick auf den Button eines Datumsfeldes wird der Kalender aufgerufen, der dann immer auf dem aktuellen Tag des aktuellen Monats positioniert ist.

Wenn ich nun eine Tabelle (aktuell 22 Zeilen) habe, in die zur Abrechnung nur Tage aus dem abgelaufenen Monat einzutragen sind,  wäre es für den Benutzer leichter, wenn die Positionierung des Kalenders beim Klicken auf den Button auf den Ersten des abgelaufenen Monats (Systemmonat -1) erfolgen würde. Es erspart einen Klick auf das <-Symbol im Kalenderelement, um in den abgelaufenen Monat zu kommen.

Kurz gesagt: Wie bringt man das Kalenderelement dazu, mit dem Ersten des abgelaufenen Monats zu starten?

Danke für die aufgebrachte Geduld.

Mit freundlichen Grüßen

USMK





Antworten