Einzelnen Beitrag anzeigen
Alt 16.06.2007, 17:48   #39
RKabis
Registrierter Benutzer
Beschreibung vorhanden OSA AUTOVAL

E r g e b n i s / R e s u l t
Diese OSA-Applikation ist eine Zählfunktion, die bei jedem Aufruf automatisch einen Inkrementwert ausgibt.

B e s c h r e i b u n g / D e s c r i p t i o n
Die Funktion AUTOVAL ist eine Ergänzung zur Autoinkrement-Funktion in Datenbank-Schirmmasken. AUTOVAL unterscheidet sich insofern, als der Wert bereits bei der Eingabe in die Schirmmaske und nicht beim Speichern des Datensatzes erhöht wird. Dies hat den Vorteil, dass verschiedene Netzwerkstationen nie den gleichen Autoinkrement-Wert auf dem Bildschirm anzeigen. Bei einem regelmäßigen Autoinkrement wird der Autoinkrement-Wert beim Speichern des Datensatzes bestimmt. Abhängigkeiten werden bereits zuvor in der Schirmmaske berechnet. Wenn zwei Netzstationen den gleichen Autoinkrement-Wert anzeigen, dann wird einem der beiden Stationen beim Speichern ein anderer Wert zugewiesen. Dadurch können Abhängigkeiten zum Autoinkrement nicht mehr richtig zugeordnet werden. Mit der Funktion AUTOVAL vermeiden Sie dieses Problem, auch wenn es den Nachteil hat, dass einige Werte übersprungen werden und damit verloren gehen.

S y n t a x
Code:
nummer=call("autoval",dateiname,dateiname, wert)
P a r a m e t e r
Die Funktion benötigt drei Parameter
  • Der erste Parmeter ist der Namer der Datei, in der der aktuelle AUTOVAL-Wert gespeichert ist.
    Der Dateiname hat die Erweiterung ".AUT". Wenn die Datei in einem bestimmten Verzeichnis angelegt werden soll, können Sie das Verzeichnis durch Eingabe des Parmeters (VOLUME:DATEINAME) angeben. Andernfalls wird die .AUT-Datei in einem Verzeichnis erstellt, das durch den zweiten Parameter festgelegt wird. Enthält der zweite Parameter keine Angabe über das Verzeichnis, dann wird die .AUT-Datei im ersten Verzeichnis der Suchreihenfolge erstellt. Wenn der erste Parameter leer ("") bleibt, wird dem Dateinamen des zweiten Parameters die Erweiterung .AUT hinzugefügt und die Datei wird als .AUT-Datei verwendet.
  • Der zweite Parameter ist der Name der einer Datei, die sich in dem Verzeichnis befindet, in der die .AUT-Datei erstellt werden soll.
    Dadurch sind Sie in der Wahl des gewünschten Verzeichnisses innerhalb eines Netzes wesentlich freier. In der Regel sollte die Datei des zweiten Parameters eine .DF-Datei sein. Die Erweiterung .DF wird nicht automatisch hinzugefügt sondern muß eingegeben werden. Bleibt dieser Parameter frei oder ist er ungültig und kann nicht gefunden werden, dann wird die .AUT-Datei im ersten Verzeichnis der Suchreihenfolge erstellt.
  • Der dritte Parameter ist ein Wert, der festlegt, ob und wie die Funkion AUTOVAL tatsächlich ein Autoinkrement ausführt.
    Ist der Wert Null (0), sird die Funktion AUTOVAL ausgeführt. Bei jedem anderen Wert wird dieser Parameterwert als Ergebnis der Funktion ausgegeben. Dieser Parameter soll verhindern, dass das Autoinkerment bei jeder Auswertung der Funktion ausgefürt wird. Wenn Sie zum Beispiel neue Datensätze eingeben, soll der Wert eines Feldes in der Regel inkrementiert werden. Möchten Sie hingegen einen bestehenden Datensatz nur ansehen, dann soll der Wert nicht inkremendiert werden. Normalerweise geben Sie den aktuellen Wert des Feldes als dritten Parameter ein. Bei einem neuen Datensatz ist dieser Wert Null und wird daher inkrementiert.
Dabei gibt es allerdings eine Schwierigkeit: Open Access berechnet die Abhängigkeiten innerhalb der Schirmmaske ständig neu, wobei ein abhängiges Feld auf seinen ursprünglichen Wert zurückgeseetzt wird. Um endolse Rechenschleifen zu vermeiden, darf ein Feld dessen Wert inkremmentiert wird, nicht als dritter Parameter eingesetzt werden. Ein Feld, das automatisch inkrementiert werden soll muß vielmehr als BEDINGT definiert sein. Geben Sie hierzu ein Funktion ein, die die Dateu AUTOVAL.OAC aufruft, in der der dritte Parameter ein numerisches Feld, vom tatsächlichen Autoinkrement-Feld abhängiges Feld ist. Sie benötogen also zwei numerische Felder in ihrer Datenbankdatei, die immer den gleichen Wert haben (der Autoinkrement-Wert) und die mit einem numerischen Feld in Verbindung stehen (BEDINGT), das wiederum von dem CALL-Feld abhängitg ist (ein auf scih selbst bezogenes Feld hätte neue Komplikationen zur Folge).

R e t u r n s
Numerisch

B e i s p i e l / E x a m p l e
Angehängte Dateien
Dateityp: oac AUTOVAL.OAC‎ (14.5 KB, 3x aufgerufen)
RKabis ist offline   Mit Zitat antworten