Seite 1 von 4

Wochentage im Tabellenkopf

Verfasst: 10.03.2012, 18:46
von Eibenger
Hallo,
ich habe für eine Bestellfunktion für die Besucher meiner Ferienwohnungen eine Tabelle entwickelt, bestehend aus 20 Zeilen für verschiedene Backwaren (Brötchen etc.) und 6 Spalten für die Wochentage, so dass in der Matrix angekreuzt werden kann, wieviel Semmeln z.B. am Mittwoch Früh geliefert werden sollen. Klappt alles gut bis auf den Tabellenkopf. Hier benötige ich einen Impuls für folgende Idee: Die Tabellenspalte1 soll dynamisch, abhängig vom aktuellen Datum mit dem ersten Folgetag beginnen. Bsp.: Heute ist der Samstag, 10.03.2012, dann müsste im ersten Spaltenkopf "Montag" stehen, im 6. Spaltenkopf wäre dann Samstag.
1. Datum=aktuelles Datum+1
2. Aufgabe: Wochentage anzeigen
3. Wenn Sonntag; dann Datum +1

In der Hilfe auf der Adobe- Seite und in diversen Handbüchern werden diese Aufgaben nicht betrachtet. Hier bitte ich um Eure Hilfe.
Vielen Dank,

Gerhard

Ergänzung:

Das Mit dem Datum +1 ist nicht das Problem:


----- Formular1.#subform[0].DatumsUhrzeitfeld1::exit: - (JavaScript, Client) -----------------------

if(this.rawValue != null){
var sDate = util.scand("yyyy-mm-dd", this.rawValue);
var NewsDate = Number(sDate) + (24*60*60*1000*1);
var nDate = util.printd("dd.mm.yyyy", new Date(NewsDate));
DatumsUhrzeitfeld2.rawValue = nDate;
}

Vielmehr müsste in diesem Script noch die Abfrage rein:

if ... Wochentag = Sonntag ... ;
{
var NewsDate = Number(sDate) + (24*60*60*1000*2);
}
else
{
var NewsDate = Number(sDate) + (24*60*60*1000*1);
}

Was schreibe ich für ... Wochentag = Sonntag ... ?

Ich weiß, das die Zahl 1 für Sonntag, 2 für Montag etc. steht, aber wie erhalte ich die Zahl aus dem Datum?
Und wandle dann im Script das Datum in den String "Montag", "Dienstag" um?
Das hat doch bestimmt schon mal jemand genacht und kann mir hier einen Tipp geben.

Anbei der neue Versuch, die Rechenfunktionen habe ich noch nicht drin, das ist mir klar und stellt kein Problem dar. Es ist nur noch so, dass das Datum 11.03. erscheint, ist eben ein Sonntag!!

Wochentage im Tabellenkopf

Verfasst: 10.03.2012, 21:41
von Merklin
Hallo Gerhard,

leider kann ich nur einen kleinen Beitrag zu deinen Fragen leisten.
Da mir leider die Scriptkenntnisse fehlen, um alle deine Fragen beantworten zu können.

Nur Dieses, die Anzeige des Tagesnamen aus dem ausgewählten Datum.
Siehe Beispiel.

VG Merklin

P.S. Die Zahlen die du ansprichst haben nichts mit dem Namen des Tages zu tun.
Bei diesem Script wird der Tag in Stunden und Minuten errechnet und dann (nach Wunsch) multipliziert. Also 2 heißt nicht Sonntag, sondern das es mal 2 genommen wird. dadurch erscheint das Datum 2 Tage später.



Wochentage im Tabellenkopf

Verfasst: 10.03.2012, 21:50
von armine
Hallo,

lege dir ein Feld namen Datum an wie z.B.
[font=courier new]Formular1.Datum::initialize - (FormCalc, client)
$ = num2Date(Date() + 1, "YYYY-MM-DD", "de_DE")[/font]
In Muster stellst du z.B. [font=courier new]date{DD.MM.YY}[/font] ein.

Lege ein weiteres Fels an wie z.B.
[font=courier new]Formular1.Wochentag::initialize - (FormCalc, client)
$ = Mod(Date2Num(Datum, "YYYY-MM-DD", "de_DE"), 7)
if ($ == 0) then
    $.fontColor = "255,0,0"
elseif ($ == 6) then
    $.fontColor = "79,79,79"
else
    $.fontColor = "0,0,0"
endif
$ = Datum[/font]
In Muster stellst du  [font=courier new]date{EEEE}[/font] ein.

Die If-Abfrage kannst du auch weglassen, die hebt nur die Wochenenden farbig hervor.

Gruß
armine

Wochentage im Tabellenkopf

Verfasst: 11.03.2012, 06:17
von armine
Hallo Gerhard,

da war ich aber ganz fix auf dem Holzweg. Der Lösungsansatz wurde schnell aus einer Tabelle kopiert, hat aber mit deinem Problem nicht viel zu schaffen. Immerhin steckt ein Ansatz drin, wie man den Sonntag per Modulo in FormCalc einfach ermitteln kann. Das ist einfacher, als in JavaScript mit "getDay().

[font=verdana][/font]Mit meinem Ansatz, in einer Tabelle die Sonntagsspalte auszublenden, hatte ich keinen Erfolg. Zeilen ja – Spalten nein.

Dann habe ich die Felder in Teilformulare gestopft, da klappt es.

vg armine

Wochentage im Tabellenkopf

Verfasst: 11.03.2012, 11:10
von Merklin
Hallo armine, hallo Gerhard,

so ein Mist, nun hatte ich Alles (zu Testzwecken) so schön in eine Tabelle untergebracht.

Meine Frage wäre, kann man den nicht einfach den Text, in der Kopfzeile, dem entsprechend anpassen?

Also wähle ich ein Datum, das auf einen Montag fällt, wird in der ersten Zelle (Kopfzeile) Dienstag geschrieben, zweite Zelle Mittwoch usw.

Der Knackpunkt ist ja, wird die Bestellung an einem Samstag getätigt, muss natürlich Montag in der ersten Zelle, Dienstag in der zweiten Zelle usw.

Bin ja mal gespannt wie der Krimi ausgeht.:D:D:D:D

VG Merklin

Wochentage im Tabellenkopf

Verfasst: 11.03.2012, 12:04
von armine
Hallo Gerhard,

du hast mich auf die richtige Idee gebracht. Die Formel kann noch etwas dauern (Mittagszeit).

Bis später
armine

Wochentage im Tabellenkopf

Verfasst: 11.03.2012, 12:05
von Eibenger
Hallo, alle zusammen,
ich bin einfach platt!! Habe alle eure Hilfen durchgearbeitet und werde mich evtl. heute noch daran machen, diese für mein Vorhaben umzusetzen.
Ich glaube, ich bin mit eurer Hilfe auf einem guten Weg.
Danke erst einmal, auch den noch kommenden Ideenspendern ;-)

Wochentage im Tabellenkopf

Verfasst: 11.03.2012, 12:05
von Eibenger
Hallo, alle zusammen,
ich bin einfach platt!! Habe alle eure Hilfen durchgearbeitet und werde mich evtl. heute noch daran machen, diese für mein Vorhaben umzusetzen.
Ich glaube, ich bin mit eurer Hilfe auf einem guten Weg.
Danke erst einmal, auch den noch kommenden Ideenspendern ;-)

Wochentage im Tabellenkopf

Verfasst: 11.03.2012, 12:46
von Eibenger
Hallo Armine,
ich hoffe, dein Sonntagsbraten hat geschmeckt!
Deinen Lösungsvorschlag habe ich ausprobiert. Modulo kann ich, habe es bei den Referenzen nun auch gesehen. Variable So habe ich in meinem Formular definiert.

Wochentage im Tabellenkopf

Verfasst: 11.03.2012, 12:48
von Merklin
Hallo armine,

ich bin zwar nicht Gerhard aber trotzdem vielen Dank.
Habe das Formular noch etwas weiter voran getrieben, Lieferpauschale wird nun abgezogen bei Bestellwert über 3€.

Na, ich denke es wird schon.

VG Merklin