4D v14Video Skript |
||
|
4D v14
Video Skript
Video Skript
Dieses Video zeigt, wie Sie eine Auswahl beibehalten und Aktionen ausführen (Vereinigung, Schnittmenge und Differenz). Mengen sind ein einfacher Weg, um Aktionen auf Datensätze in einer Tabelle auszuführen. So können Sie eine Auswahl beibehalten und später wiederverwenden. Wir wenden das auf die Liste der Einsätze im Formular Navigator an und erstellen eine Menge aus der aktuellen Auswahl. Wir erstellen eine Schaltfläche, die nach den vor 9:00 gestarteten Einsätzen sucht. Hier die Methode zur Schaltfläche: QUERY([Interventions];[Interventions]Hour_Intervention) Wir erstellen eine 2. Schaltfläche für alle noch nicht 100% abgeschlossenen Einsätze. Wir schreiben folgenden Code: QUERY([Interventions];[Interventions]Progress<100) Momentan enthält die importierte Datei noch nicht diese Angabe in %. Also wenden wir zuerst auf alle Einsätze eine Formel an. Hier haben wir eine Auswahl von 11.732 Einsätzen für die Formel. Sie lautet wie folgt: Sie berechnet den Prozentwert und rundet die letzte Stelle. Erstellen wir nun einen Bericht zum Prüfen des erreichten Prozentwerts, sehen wir, dass er zwischen 0 und 100 liegt. Klicken wir jetzt auf die 1. Schaltfläche und dann auf die 2., verlieren wir natürlich die mit dem 1. Klick erstellte Menge. CREATE SET([Interventions];"Intervention_Morning") Die Menge der gefundenen Einsätze, die noch nicht abgeschlossen sind, nennen wir "Intervention_InProgress". CREATE SET([Interventions];"Intervention_InProgress") Dann können wir die Mengen vergleichen:
Wir testen die verschiedenen Möglichkeiten durch Ausführen des Formulars Navigator. Warum ist das so? Im vorigen Video haben wir in der Methode Navigator_Functions ganz unten eine Zeile gesetzt. Sie gibt die Anzahl Datensätze nach Erstellen einer neuen Auswahl an. vNbRecords:=Records in selection([Interventions]) Wir kopieren diesen Code und wenden ihn auf die beiden Suchschaltflächen an. Dann kopieren wir diese Zeile Code für die 4 anderen Schaltflächen:
Zurück im Formular Navigator haben wir jetzt:
Einsätze vor 9:00, die zu 100%, noch laufende Einsätze vor 9:00 oder um 9:00 beendete Einsätze scheinen die hier angezeigte Zahl nicht zu verändern. Warum ist das so? Weil das Erstellen einer Menge nicht ihre Verwendung impliziert. Wir ändern also den Code:
Wir testen jetzt:
Wir schließen das Formular und starten die Methode Navigator erneut. Wir sehen in der Liste links, dass unter "Sets" die Liste der vorhandenen Mengen im Prozess im Schrittmodus erscheint. Derzeit gibt es keine. Beim Ausführen der Methode:
Dann sehen wir, da die Menge bereits existiert, dass sich nur die Anzahl ändert. Sie müssen beachten, dass eine Menge nur eine Liste Datensätze ist, die nicht unbedingt die aktuelle Auswahl ist. Derzeit enthält die aktuelle Auswahl der Tabelle Interventions 601 Datensätze. Wechseln wir zum Befehl USE SET, enthält die Auswahl jetzt eine Anzahl Datensätze, die zur Anzahl in der Menge passt. Die Variable vNbRecords wird ebenfalls entsprechend angepasst. Eine andere praktische Verwendung von Mengen ist: mehrere Datensätze auswählen und als aktuelle Auswahl festlegen; klicken wir auf die Schaltfläche, gibt es nur diese X Datensätze. Dazu müssen Sie:
Der Code lautet: $SetName:="Userset_"+String(Milliseconds) Das heißt im Klartext:
Wir testen nun:
Wir haben jetzt:
Unser Array enthält jetzt die Liste der ausgewählten Datensätze. Eine Menge besteht aus einem Bit pro Datensatz, sie behält nicht die Sortierreihenfolge. Wollen Sie diese Information behalten, müssen Sie Befehle zu temporären Auswahlen verwenden: Wir fügen eine weitere Schaltfläche hinzu, um:
Jetzt können Sie 2 Auswahlen erstellen, die die Sortierreihenfolge berücksichtigen. Sie existieren im Speicher, werden aber nicht verwendet. Als nächstes:
Wir nehmen alle Einsätze:
Wir testen:
|
EIGENSCHAFTEN
Produkt: 4D ARTIKELVERWENDUNG
Self-Training ( 4D v13) |