Massenbearbeitung mit Filterkriterium
Hallo liebe Mitstreiter,
könnt ihr mich bei folgenden Problem in die richtige Richtung "schubsen"?
Ich muss in einer großen Datenbank (>200.000 Zeilen) Spaltenwerte ("Lieferscheine") ändern. Darin verstecken sich wiederkehren Containerladungen, welche 26 Paletten mit 36 Modulen beinhalten.
Bisher habe ich mir händisch wie folgt geholfen:
Dazu filter ich zuerst die Datenbank nach der Spalten "Schiff-Container-Nr.". Danach filter ich noch einmal nach einer "Palettennr." und danach gehe ich über Massenbearbeitung um in der nun eingeblendeten Übersicht, die Spalte "Lieferschein" mit einem Wert (Lieferscheinnr.) zu befüllen.
Ich würde das gern vereinfachen und fehlerunanfälliger gestalten. Mein Idee dazu...
Ich erstelle eine Oberfläche mit den Filterkriterien "Schiff-Container-Nr.", ein Drop-Down Menü/Multiple-Choice-Menü für die dem "Schiff-Container-Nr." zugehörigen "Palettennr." und ein "Textfeld" hinter welchem eine Loop-Anweisung steckt, die alle oben gefilterten bzw. ausgewählten Zeilen mit dem im "Textfeld" eingegebenen Wert befüllt.
Mit den Select Statement und eine Loop-Anweisung müsste das doch machbar sein oder habt ihr eine andere bessere Idee?
Ich bin für jede Hilfe sehr dankbar, meine Programmierkenntnisse sind sehr alt...
VG
Frank
3 Antworten
-
- Dynamisches Auswahlfeld "Container-Nr" mit select Containertabelle
- Dynamisches Auswahlfeld "Palettennr." mit:
let myContainer := number('Container-Nr'); select Palettentabelle where Containertabelle = myContainer
Ansicht (Hierüber kann man sich zusätzlich Daten über den Container anzeigen lassen):
let myContainer := number(Container-Nr'); let myPalette := number('Palettennr.'); select Palettentabelle where Containertabelle = myContainer and Nr = myPalette
- Textfeld "Lieferschein" - darin den neuen Lieferschein angeben
- Entweder im Trigger oder mit einem Button:
let myContainer := number('Container-Nr'); let myPalette := number('Palettennr.'; let myLieferschein := Lieferschein; for i in select Palettentabelle where Containertabelle = myContainer and Nr = myPalette do i.Lieferschein := myLieferschein; end
-
Hallo Patrick, vielen Dank für deine Antwort. Leider komme ich nicht weiter es richtig umzusetzen. Kannst du mir bitte nochmal weiterhelfen?
Ich habe diese "Master"-Tabelle mit 43056 Zeilen und mit den Spalten "Container No." und "Pallet No.". Ich würde jetzt gern ein Scipt aufsetzen und jeder Zeile einen Spaltenwert "Lieferscheine" hinzufügen möchte. Dafür will ich vorher nach der entsprechenden "Container No." filtern und dann nochmals nach den zugehörigen 26 verschiedenen "Pallet No." filter.
Um das Umzusetzen habe ich eine neue Tabelle wie folgt aufgesetzt. Zuerst habe ich das dynamische Auswahlfeld "Container-Nr." aufgesetzt. Danach habe ich das dynamische Auswahlfeld "Palleten-Nr." aufgesetzt.
Mit dem jetzigen Code wird mir 936 mal die gleiche Containernr. (936 Zeilenwerte) angezeigt. Wenn ich einen Containerwert auswähle, wird mir nur eine Pallet-No., wahrscheinlich die zugehörige Nummer, angezeigt. Ich hoffe ich konnte meinen (Denk)Fehler so eingrenzen.
Ich schicke gleich noch ein kurzes Video vom "Code".
Schon einmal Besten Dank!
Grüße
Frank
Content aside
- vor 1 JahrZuletzt aktiv
- 3Antworten
- 71Ansichten
-
2
Folge bereits