|
Nach Abfrage mit Formel eine Zufallszahl einfügen
Ich mache eine Abfrage und erhalte eine Ergebnisliste.
Ein Feld hat keinen Wert und nun soll der Wert eines jeden Feldes nach einem Zufallsprinzip mit einer 8 - stelligen Zufallszahl gefüllt werden; aber jeder Datensatz mit einer Anderen natürlich. |
|
Geht glaube ich nur mit einem Programm
Soll diese Zufallszahl einmalig sein oder nach und nach immer neue zufällige, aber noch nicht vorhandene Nummern in die Felder einfügen? Und sollen diese dann in dem Feld der Datensätze der Ergebnisliste gespeichert werden? Oder ist das ein einmaliger Vorgang und dann erledigt |
|
Es sollen zufällige 8-stellige Zahlen sein, müssen auch nicht einmalig in der Tabelle stehen (kein UNIQUE Feld), aber es sollen die Datensätze natürlich aktualisiert werden.
|
|
Verstehe ich das richtig - es soll eine 8-stellige zufällige Zahl eingetragen werden, welche bei Aktualisierung des Datensatzes (Neu/Änderung) neu berechnet wird? Demnach soll es möglichst in der Schirmmaske geschehen. Da es m.W. keine OSA-Routine dafür gibt, wird es nur über Umwege zu relalisieren sein. Spontan fallen mir Datum und Uhrzeit ein. Das ist aber nicht wirklich zufällig. In der Programmier-Umgebung gibt es die Funktion RANDOM. Die lässt sich dafür nutzen.
Heinz |
|
Ja genau, ich will quasi relativ schnell ohne Umwege über den Programmierer mehrere tausend Datensätze updaten und in einem Feld eines jeden eine zufällige 8 stellige Zahl einfügen.
|
|
Ich habe da mal ein wenig herumexperimentiert und natürlich auch nachgedacht. Leider ist dabei nicht viel brauchbares herausgekommen. Mit einer Formel ist das wohl schwer zu machen. Mein Ansatz mit Datum und Uhrzeit bringt es auch nicht. Das Umrechnen in eine Zahl ist halt nicht wirklich zufällig.
Warum willst Du das nicht mit dem Programmierer machen? Das Programm dafür wäre ja ziemlich einfach. Du musst doch nur die 'leeren' Datensätze laden und dann in einer Schleife die Zufallszahl einstellen. Fertig. Das kannst Du über die Start-Batch sogar via Makro automatisch beim Start oder Beenden von OA ausführen. Der Anwender muss das ja nicht merken. Ansonsten fällt mir da nur ein Umweg ein. Aus irgendwelchen Textfeldern Deiner Datenbank nimmst Du jeweils den ASCII-Code des ersten Zeichens (dafür gibt es eine OSA-Routine) und setzt diese mit irgendwelchen Rechenoperationen zu einer geeigneten Zahl zusammen. Schöne Grüße Heinz |
|
Ich wollte mir die "Arbeit" des Programmierers ersparen aber es bleibt mir leider nichts anderes übrig. Da Problem daran ist die Geschwindigkeit des Updates pro Datensatz, im Programmierer ist das nämlich deutlich langsamer und ich traue den Basistabellen Operationen nicht über den Weg.
|
|
Compilierte Anwendungen laufen deutlich schneller. Um wieviel Datensätze geht es denn? Wenn Du willst, so schreibe ich Dir das Programm. So bleibe ich im Thema, roste OA-mäßig nicht ein und Du sparst Zeit. Lass von Dir hören.
Schöne Grüße Heinz |
|
Vielleicht existieren ja zwei oder drei Datumsfelder in der Datei
dann ging so ein böser Patch wie DATUMSFELD1*DATUMSFELD2*DATUMSFELDX / SYSDATUM / (6,oder 7, oder 8, oder 9) Das kann man dann anpassen und ergibt wenn die Datumsfelder einigermassen unterschiedlich sind und nicht jeden Tag dieser Vorgang mehrfach durchgeführt werden muß, ziemlich ungleiche 8-stellige Nummernwerte (Allerdings darf im Datumsfeld nicht "00.00.0000" eingetragen sein) Sonst muss noch eine Bedingungen eingetragen werden. Aber vielleicht kannst Du ja noch andere Werte mit SYSTIME oder SYSDATE kombinieren |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 Uhr. |
Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.