Array einlesen und auslesen
Hallo liebes Forum, ich komme einfach nicht weiter! Ich verstehe einfach nicht wenn man mit select die Tabelle Mitarbeiter begrenzt und dann alles in einer Array einliest z.B. Name, Personalnummer ... Nun möchte ich wieder in einer nicht verknüften Tabelle Arbeitszeit für jeden Mitarbeiter in Arbeitszeit einen neuen DS erstellen und die Array auslesen. Die aktiven Mitarbeiter sind mit einem Ja/Nein Feld als Aktive markiert! Der Buttom ist in der Tabelle UmsatzTag und die Tabelle Arbeitszeit ist eine Untertabelle.
let myID := this;
for i in select Mitarbeiter where Aktiv = "Ja" do
let aDS_Name := (i.Name);
let new := (create Arbeitszeit);
new.(UmsatzTag := myID)
new.(Name := aDS_Name)
end
Danke für Eure Hilfe
7 Antworten
-
Danke Leo, das funktioniert perfekt! Ich verstehe gar nicht warum ich immer mit where und dem Wert "Ja" herum exerimentiert habe. D A N K E
-
Hallo nochmal, ich habe bei den Mitarbeiten noch die Arbeitstage hinterlegt und wollte den entsprechenden Mitarbeiter jetzt nur einfügen wenn er an diesem Wochentag auch arbeitet. Hab das aber sowohl als seleckt Anweisung als auch if/end Anweisung wie mein Beispiel zeigt nich hinbekommen! Es passiert einfach garnicht ? Kann nochmal jemand mir Starthilfe geben. Lieben Dank
let myID := this;
let myWT := text(Wochentag);
for i in (select Mitarbeiter)[Aktiv = true] do
if i.Montag = myWT = true or i.Dienstag = myWT = true or i.Mitwoch = myWT = true or i.Donnerstag = myWT = true or i.Freitag = myWT = true or i.Samstag = myWT = true or i.Sonntag = myWT = true then
let var_Name := i.Name;
let new := (create Arbeitszeit);
new.(UmsatzTag := myID);
new.(Name := i.Name + " " + i.Vorname);
new.(PNr := i.PNr)
end
end -
Hallo Leo
kannst du dir das nochmal anschauen.
-
i.Montag, i.Dienstag usw. - sind es Ja/Naein Felder?
-
Hallo,
ein Vergleich in der Form
if i.Montag = myWT = true
wird wohl schon nicht funktionieren!?
lg, Torsten
-
Also, wenn es ja/nein Felder sind, dann kann man es so schreiben:
---
let myID := this;
let myWT := text(Wochentag);
for i in (select Mitarbeiter)[Aktiv = true] dolet myText:=if i.Montag then "Montag" end +if i.Dienstag then "Dienstag" end+ if i.Mitwoch then "Mittwoch" end+if i.Donnerstag then "Donnerstag" end+if i.Freitag then "Freitag" end+if i.Samstag then "Samstag" end + if i.Sonntag then "Sonntag" end;
if contains(myText,myWT) then
let new := (create Arbeitszeit);
new.(UmsatzTag := myID);
new.(Name := i.Name + " " + i.Vorname);
new.(PNr := i.PNr)
end
end---
Leo
Content aside
- vor 5 JahrenZuletzt aktiv
- 7Antworten
- 3111Ansichten