{"id":55000351,"date":"2006-06-01T00:00:00","date_gmt":"2020-05-06T15:18:20","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=351"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Mathematische_Funktionen","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/","title":{"rendered":"Mathematische Funktionen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg04.met.vgwort.de\/na\/5d277185a48d4ac58d74a349c14cde80\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<h3>Zusammenfassung<\/h3>\n<p>Lernen Sie die mathematischen Funktionen von VBA kennen.<\/p>\n<h3>Techniken<\/h3>\n<p>VBA, mathematische Funktionen<\/p>\n<h3>Voraussetzungen<\/h3>\n<p>Access 97 und h&ouml;her<\/p>\n<h3><\/h3>\n<p><b>Roland Grothe, Hanau, und Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>&#8222;Mathe! &#8211; Gut, dass ich damit seit der Schulzeit (seit dem Studium) nichts mehr zu tun habe!&#8220; &#8211; das denken jetzt m&ouml;glicherweise einige Leser. Fr&uuml;her oder sp&auml;ter holt einen diese Zeit wieder ein, denn auch wenn die trigonometrischen Funktionen von VBA eher selten zum Einsatz kommen d&uuml;rften, gibt es durchaus interessante Kandidaten: Oder behauptet da irgendjemand, er habe noch nie beispielsweise eine Zufallszahl ermitteln m&uuml;ssen<\/b><\/p>\n<p>In diesem Beitrag stellen wir Ihnen die mathematischen Funktionen von VBA vor. Wenn auch die meisten dieser Funktionen nur in recht speziellen Anwendungen zum Einsatz kommen werden, sind doch einige darunter, die Ihnen auch bei der L&ouml;sung ganz &#8222;normaler&#8220; Entwicklerprobleme hilfreich zur Seite stehen.<\/p>\n<p>Mathematische Funktionen sind prinzipiell nichts anderes als eine f&uuml;r den Anwender vereinfachte Form der Eingabe komplizierter Berechnungen. <\/p>\n<p>Durch die Verwendung der eingebauten mathematischen Funktionen werden Ihre Anwendungen &uuml;bersichtlicher und Ihre Gedankeng&auml;nge bei der Entwicklung auch f&uuml;r andere Benutzer nachvollziehbar. Tab. 1 zeigt in einer &uuml;bersicht die in diesem Beitrag besprochenen Funktionen.<\/p>\n<p>Anzumerken ist dabei, dass die englischen Funktionen in VBA und SQL und die deutschen Varianten beispielsweise im Abfrageentwurf, im Ausdruckseditor oder in Eigenschaften von Datenbankobjekten oder Steuerelementen zum Zuge kommen.<\/p>\n<p>Um Ihnen das Ausprobieren der hier beschriebenen Funktionen zu erleichtern, enth&auml;lt die Beispieldatenbank das Formular frmBeispielmathematischeFunktionen, in dem Sie eigene Parameter zuweisen und sich die jeweiligen Resultate aller Funktionen ansehen k&ouml;nnen. &uuml;berschreiben Sie dazu einfach die vorgegebenen Werte in den Eingabefeldern.  <\/p>\n<p>Diese oft auch als trigonometrische oder Kreisfunktionen bezeichneten Funktionen stellen in der elementaren Geometrie die Seitenverh&auml;ltnisse in einem rechtwinkligen Dreieck dar.<\/p>\n<p>Alle Funktionen erwarten als Parameter einen Zahlenwert, der entweder einen Winkel im Bogenma&szlig; (Sin(), Cos(), Tan()) oder das Verh&auml;ltnis zweier Seiten des Dreiecks (Atn()) angibt. <\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Funktion (englische Bezeichnung)<\/b><\/p>\n<\/td>\n<td>\n<p><b>Funktion (deutsche Bezeichnung)<\/b><\/p>\n<\/td>\n<td>\n<p><b>Ergebnis\/Beschreibung<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Sin(Zahl)<\/p>\n<\/td>\n<td>\n<p>Sin(Zahl)<\/p>\n<\/td>\n<td>\n<p>Sinus des Winkels Zahl (im Bogenma&szlig;) <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Cos(Zahl)<\/p>\n<\/td>\n<td>\n<p>Cos(Zahl)<\/p>\n<\/td>\n<td>\n<p>Kosinus des Winkels Zahl (im Bogenma&szlig;)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Tan(Zahl)<\/p>\n<\/td>\n<td>\n<p>Tan(Zahl)<\/p>\n<\/td>\n<td>\n<p>Tangens des Winkels Zahl (im Bogenma&szlig;)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Atn(Zahl)<\/p>\n<\/td>\n<td>\n<p>ArcTan(Zahl)<\/p>\n<\/td>\n<td>\n<p>ArkusTangens des Winkels Zahl (Ergebnis im Bogenma&szlig;)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Abs(Zahl)<\/p>\n<\/td>\n<td>\n<p>Abs(Zahl)<\/p>\n<\/td>\n<td>\n<p>Absolutwert des Arguments Zahl<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Exp(Zahl)<\/p>\n<\/td>\n<td>\n<p>Exponential(Zahl)<\/p>\n<\/td>\n<td>\n<p>Exponentialwert des Arguments Zahl<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Log(Zahl)<\/p>\n<\/td>\n<td>\n<p>Logarithmus(Zahl)<\/p>\n<\/td>\n<td>\n<p>Nat&uuml;rlicher Logarithmus des Arguments Zahl<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Int(Zahl)<\/p>\n<\/td>\n<td>\n<p>Int(Zahl)<\/p>\n<\/td>\n<td>\n<p>N&auml;chstkleinere Ganzzahl des Arguments Zahl <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Fix(Zahl)<\/p>\n<\/td>\n<td>\n<p>Fix(Zahl)<\/p>\n<\/td>\n<td>\n<p>Ganzzahliger Anteil des Arguments Zahl<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Rnd(Zahl)<\/p>\n<\/td>\n<td>\n<p>ZZG(Zahl)<\/p>\n<\/td>\n<td>\n<p>Zufallszahl. Das optionale Argument Zahl bestimmt, wie die Zufallszahl ermittelt wird.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Sgn(Zahl)<\/p>\n<\/td>\n<td>\n<p>Vorzchn(Zahl)<\/p>\n<\/td>\n<td>\n<p>Vorzeichen des Arguments Zahl<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Sqr(Zahl)<\/p>\n<\/td>\n<td>\n<p>QWurzel(Zahl)<\/p>\n<\/td>\n<td>\n<p>Quadratwurzel des Arguments Zahl<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 1: Mathematische Funktionen und ihre Beschreibung<\/b><\/p>\n<p><IMG height=\"319\" src=\"..\/fileadmin\/_temp_\/{1C2225E3-FD1C-4041-8D50-983FD33DF979}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<\/table>\n<p><b><span style=\"color:darkgrey\">Bild 1:  In der Beispieldatenbank sehen Sie die Ergebnisse aller in diesem Kapitel behandelten Funktionen.<\/span><\/b><\/p>\n<h2>Die Funktion Sin()<\/h2>\n<p>Die Funktion berechnet aus einem Winkel das L&auml;ngenverh&auml;ltnis der dem Winkel gegen&uuml;berliegenden Seite (Gegenkathete) zu der Hypothenuse (l&auml;ngste Seite) eines rechtwinkligen Dreiecks. Als Parameter muss der Winkel im Bogenma&szlig; angegeben werden. Steht eine Winkelangabe nur in Grad zur Verf&uuml;gung, muss diese zuvor in das Bogenma&szlig; umgerechnet werden. Die Formel dazu lautet folgenderma&szlig;en:<\/p>\n<pre>Bogenma&szlig; = Grad * Pi \/ 180<\/pre>\n<p>Dabei ist Pi eine mathematische Konstante mit dem N&auml;herungswert 3,1415926535897932. Statt diese Konstante direkt  im  Code anzugeben, kann man sie auch mit folgender Funktion berechnen lassen:<\/p>\n<pre>Pi = 4 * Atn(1) <\/pre>\n<p>Um in einem berechneten Steuerelement (siehe Bild 1) beispielsweise den Sinus eines Winkels, dessen Gr&ouml;&szlig;e in einem Formularfeld txtWinkelB definiert ist, zu berechnen, verwenden Sie folgende Syntax f&uuml;r die Eigenschaft Steuerelementinhalt:<\/p>\n<pre>=Sin([txtWinkelB])<\/pre>\n<p>Statt eines direkten Feldbezugs kann auch ein komplexerer Ausdruck an die Funktion &uuml;bergeben werden.<\/p>\n<p>Dies ist zum Beispiel dann notwendig, wenn die Winkelangabe nur in Grad verf&uuml;gbar ist, wie in folgendem Beispiel:<\/p>\n<pre>= Sin([txtWinkelG] * 3,1415926535897932\/180)<\/pre>\n<p>Das Ergebnis ist ein Wert des Datentyps Double im Bereich von -1 bis 1.<\/p>\n<h2>Die Funktion Cos()<\/h2>\n<p>Der Cosinus ist die Gegenfunktion des Sinus und liefert das L&auml;ngenverh&auml;ltnis der dem Winkel anliegenden Seite (Ankathete) zu der Hypothenuse eines rechtwinkligen Dreiecks.<\/p>\n<p><!--30percent--><\/p>\n<p>Auch hier ist als Parameter der Winkel im Bogenma&szlig; anzugeben: <\/p>\n<pre>=Cos([txtWinkelB])<\/pre>\n<p>Das Ergebnis ist ein Wert des Datentyps Double im Bereich von -1 bis 1.<\/p>\n<h2>Die Funktion Tan()<\/h2>\n<p>Der Tangens liefert das L&auml;ngenverh&auml;ltnis der dem Winkel gegen&uuml;berliegenden Seite (Gegenkathete) zu der dem Winkel anliegenden Seite (Ankathete) eines rechtwinkligen Dreiecks.<\/p>\n<p>Auch hier muss als Parameter der Winkel im Bogenma&szlig; angegeben werden:<\/p>\n<pre>=Tan([txtWinkelB])<\/pre>\n<p>Das Ergebnis ist ein Wert des Datentyps Double, wobei der Wert im Bereich der Winkel 90&deg; und 270&deg; extrem gro&szlig; wird.<\/p>\n<h2>Die Funktion ArcTan()<\/h2>\n<p>Der Arkustangens ist die Umkehrfunktion der Funktion Tan() und berechnet aus dem L&auml;ngenverh&auml;ltnis der dem Winkel gegen&uuml;berliegenden Seite (Gegenkathete) zu der dem Winkel anliegenden Seite (Ankathete) eines rechtwinkligen Dreiecks dessen Winkel im Bogenma&szlig;:<\/p>\n<pre>=Atn([txtWinkelB])<\/pre>\n<p>Das Ergebnis ist ein Wert des Datentyps Double zwischen -Pi\/2 und Pi\/2.<\/p>\n<p>Um das Ergebnis dieser Funktion in einen Winkel mit der Einheit Grad umzurechnen, verwenden Sie folgende Formel: <\/p>\n<pre>Grad = Bogenma&szlig; * 180 \/ Pi<\/pre>\n<p>Diese beiden Funktionen erlauben die Berechnung des nat&uuml;rlichen Logarithmus einer Zahl zur Basis e (Logarithmus()) beziehungsweise als Umkehrfunktion die Konstante e, potenziert mit der als Parameter &uuml;bergebenen Zahl (Exponential()).<\/p>\n<p>So liefert der Ausdruck <\/p>\n<pre>Logarithmus(10)<\/pre>\n<p>als Ergebnis den Wert 2.30258509299405, w&auml;hrend <\/p>\n<pre>Exponential(2.30258509299405)<\/pre>\n<p>den Wert 10 zur&uuml;ckgibt.<\/p>\n<p>Manchmal wird jedoch nicht der nat&uuml;rliche Logarithmus, sondern der Logarithmus zu einer beliebigen anderen Basis, beispielsweise 10, ben&ouml;tigt. Dieser Wert errechnet sich aus dem folgenden Ausdruck, der den nat&uuml;rlichen Logarithmus der &uuml;bergebenen Zahl durch den Logarithmus der gew&uuml;nschten Basis dividiert:<\/p>\n<pre>Logarithmus (Zahl) \/ Logarithmus (10)<\/pre>\n<p>Die Zahl e ist die Basis des nat&uuml;rlichen Logarithmus und wird oft auch als Euler&#8220;sche Zahl bezeichnet. Sie hat ungef&auml;hr den Wert 2,718282. Um Laufzeitfehler (&uuml;berlauf) zu vermeiden, sollten Sie darauf achten, dass die Werte f&uuml;r den Parameter Zahl den mathematischen Anforderungen an die Funktionen gerecht werden. Bei der Funktion Logarithmus() sind alle numerischen Ausdr&uuml;cke erlaubt, die einen Wert gr&ouml;&szlig;er 0 haben. Die Funktion Exponential() erwartet einen beliebigen numerischen Ausdruck, der allerdings den Wert 709,78271283 nicht &uuml;berschreiten darf.<\/p>\n<p>Diese Funktion berechnet die Quadratwurzel einer Zahl und liefert diese als Wert des Datentyps Double zur&uuml;ck. Der englische Name der Funktion leitet sich aus dem englischen Begriff &#8222;square root&#8220; ab.<\/p>\n<p>Um beispielsweise die Quadratwurzel aus 2 zu &#8222;ziehen&#8220;, verwenden Sie die folgende Syntax:<\/p>\n<pre>=QWurzel(2)<\/pre>\n<p>Das Ergebnis dieses Ausdrucks ist etwa die Zahl 1,4142.<\/p>\n<p>Mit der eingebauten Wurzelfunktion kann lediglich die Quadratwurzel (auch zweite Wurzel genannt) einer Zahl berechnet werden. Um Wurzeln h&ouml;herer Ebenen zu ziehen, m&uuml;ssen Sie den Wert mit dem Kehrwert der gew&uuml;nschten Ebene potenzieren. Um beispielsweise die dritte Wurzel aus 125 zu ziehen, verwenden Sie den folgenden Ausdruck:<\/p>\n<pre>=125^(1\/3)<\/pre>\n<p>Als Parameter erlaubt die Funktion jeden numerischen Ausdruck, der gr&ouml;&szlig;er oder gleich 0 ist.<\/p>\n<p>Diese einfache Funktion erwartet als Parameter einen beliebigen numerischen Wert und liefert einen Wert des gleichen Datentyps zur&uuml;ck. Dieser Wert entspricht dem Betrag des &uuml;bergebenen Wertes, also der Zahl ohne Vorzeichen.<\/p>\n<p>So liefern beispielsweise sowohl<\/p>\n<pre>Abs(12)<\/pre>\n<p>als auch<\/p>\n<pre>Abs(-12)<\/pre>\n<p>den numerischen Wert 12 zur&uuml;ck. <\/p>\n<p>Diese Funktion l&auml;sst sich sehr gut als automatische Eingabekontrolle verwenden, um sicherzustellen, dass der Anwender nur positive (oder negative) Werte in ein Feld eingibt. Bei einer Reisekostenabrechnung wei&szlig; der Anwender beispielsweise oft nicht, ob er das Feld Spesen als negativen oder positiven Wert eingeben muss. Da das richtige Vorzeichen f&uuml;r die Berechnung jedoch entscheidend ist, k&ouml;nnen Sie das Feld txtSpesen mit dem Ausdruck<\/p>\n<pre>Me!txtSpesen =Abs(Me!txtSpesen)<\/pre>\n<p>als positiven beziehungsweise mit<\/p>\n<pre>Me!txtSpesen =Abs(Me!txtSpesen) * -1<\/pre>\n<p>als negativen Wert fest definieren, ohne dass der Anwender davon etwas merkt.<\/p>\n<p>Manchmal ist es erforderlich, lediglich das Vorzeichen einer Zahl zu kennen. Diese Information liefert die Funktion VorZchn(). Sie erwartet als Parameter Zahl einen beliebigen numerischen Wert und liefert je nach dessen Vorzeichen die Werte aus Tab. 2 als Datentyp Integer zur&uuml;ck.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Zahl<\/b><\/p>\n<\/td>\n<td>\n<p><b>R&uuml;ckgabewert<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&gt; 0<\/p>\n<\/td>\n<td>\n<p>1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&lt; 0<\/p>\n<\/td>\n<td>\n<p>-1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>= 0<\/p>\n<\/td>\n<td>\n<p>0<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 2: R&uuml;ckgabewerte der Funktion Vorzchn()<\/b><\/p>\n<p>So liefert beispielsweise der Ausdruck<\/p>\n<pre>Vorzchn(-12)<\/pre>\n<p>den Wert -1 zur&uuml;ck.<\/p>\n<p>Diese Funktionen sind fast identisch. Beide erwarten als Parameter einen beliebigen numerischen Ausdruck und liefern den ganzzahligen Anteil dieses Wertes zur&uuml;ck. Der zur&uuml;ckgelieferte Wert hat dabei den gleichen Datentyp wie der Parameterwert.<\/p>\n<p>So liefert beispielsweise der Ausdruck<\/p>\n<pre>Int(235,67)<\/pre>\n<p>den Wert 235 zur&uuml;ck. Hat der Parameter den Wert Null, ist auch das Ergebnis der Funktion Null. Der Unterschied zwischen den Funktionen Fix() und Int() zeigt sich nur bei der Berechnung negativer Werte.<\/p>\n<p>W&auml;hrend Fix() lediglich die Nachkommastellen abschneidet und damit aus<\/p>\n<pre>Fix(-235,67)<\/pre>\n<p>den Wert -235 ermittelt, liefert Int() grunds&auml;tzlich die n&auml;chstkleinere Zahl zur&uuml;ck. Das Resultat von<\/p>\n<pre>Int(-235,67)<\/pre>\n<p>ist demnach -236.<\/p>\n<p>Eine h&auml;ufig ben&ouml;tigte Anwendung ist die permanente Rundung eines Rechenergebnisses auf eine bestimmte Anzahl Nachkommastellen. <\/p>\n<p>Dies ist stets dann notwendig, wenn beispielsweise ein Betrag nicht nur mit zwei Stellen nach dem Komma angezeigt, sondern auch sp&auml;ter nur mit diesen zwei Stellen gerechnet werden soll. Der Ausdruck<\/p>\n<pre>Int(235,6789 * 100)\/100<\/pre>\n<p>multipliziert den Wert erst einmal mit dem Faktor 100, bildet daraus den Integerwert und dividiert dieses Ergebnis wiederum durch 100.<\/p>\n<p>Resultat dieser Berechnung ist ein Wert mit maximal zwei Nachkommastellen, der allerdings noch nicht korrekt aufrundet. Dieses Problem l&ouml;sen Sie durch die Addition von 0,5, bevor der Integerwert gebildet wird. Der Ausdruck<\/p>\n<pre>Int(235,6789 * 100+0,5)\/100<\/pre>\n<p>ber&uuml;cksichtigt nun auch dieses Problem. Um auf eine andere Anzahl Kommastellen zu runden, ver&auml;ndern Sie lediglich den Multiplikationsfaktor.  Dieser betr&auml;gt 10n, wobei n die Anzahl der gew&uuml;nschten Kommastellen darstellt.  <\/p>\n<p>n kann &uuml;brigens auch negativ sein, um Rundungen vor dem Komma zu erzeugen.<\/p>\n<p>Die in Access eingebauten Funktionen beschr&auml;nken sich auf einige wenige, h&auml;ufiger verwendete Funktionen.<\/p>\n<p>Mehr ist allerdings auch nicht notwendig, da sich alle mathematischen Funktionen aus Berechnungen anderer Funktionen ableiten lassen.<\/p>\n<p>Mehr dazu finden Sie in der Online-Hilfe unter dem Stichwort &#8222;abgeleitete mathematische Funktionen&#8220; (siehe Bild 2).<\/p>\n<p><IMG height=\"767\" src=\"..\/fileadmin\/_temp_\/{1C2225E3-FD1C-4041-8D50-983FD33DF979}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Eine &uuml;bersicht einiger abgeleiteter mathematischer Funktionen finden Sie in der VBA-Referenz.<\/span><\/b><\/p>\n<p>Mit dieser Funktion stellt Access dem Anwender den Zugriff auf den internen (Pseudo-)Zufallszahlengenerator zur Verf&uuml;gung.<\/p>\n<p>ZZG() liefert, abh&auml;ngig vom Parameter Zahl, einen Wert, der gr&ouml;&szlig;er oder gleich 0, aber kleiner als 1 ist.<\/p>\n<p>Es handelt sich dabei deshalb um einen Pseudozufallszahlengenerator, weil die generierte Zahl von einem Startwert abh&auml;ngt und daher auch nicht zuf&auml;llig erzeugt wird.<\/p>\n<p>Dieser Startwert kann der Funktion ZZG() als optionaler Parameter Zahl &uuml;bergeben werden, wobei die Werte aus Tab. 3 m&ouml;glich sind.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Zahl<\/b><\/p>\n<\/td>\n<td>\n<p><b>Zufallszahl<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&lt;0<\/p>\n<\/td>\n<td>\n<p>Immer die gleiche Zahl, die sich aus dem Startwert Zahl ergibt<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&gt;0<\/p>\n<\/td>\n<td>\n<p>Eine Zufallszahl, die als Startwert die zuletzt erzeugte Zufallszahl verwendet<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>=0<\/p>\n<\/td>\n<td>\n<p>Die gleiche Zahl wie beim letzten Aufruf der Funktion<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 3: M&ouml;gliche Startwerte der Funktion ZZG()<\/b><\/p>\n<p>Lassen Sie den Parameter Zahl weg, verh&auml;lt sich die Funktion als sei Zahl ein positiver Wert.<\/p>\n<p>Um ganzzahlige Zufallszahlen innerhalb eines bestimmten Bereichs zu erzeugen, muss das Ergebnis der ZZG()-Funktion mit dem  Ausdruck <\/p>\n<pre>Int((Max - Min + 1) * ZZG() + Min)<\/pre>\n<p>bearbeitet werden, wobei Max die gr&ouml;&szlig;te und Min die kleinste Zahl des zul&auml;ssigen Bereichs darstellt.<\/p>\n<p>Auf der Registerkarte ZZG() des Beispielformulars finden Sie eine Schaltfl&auml;che W&uuml;rfeln, die das Formular frmW&uuml;rfel aufruft. Einziges Steuerelement dieses Formulars ist ein Textfeld, dessen Inhalt beim &ouml;ffnen des Formulars berechnet und zugewiesen wird. Der Ausdruck <\/p>\n<pre>Me!Text0=Int((6 - 1 + 1) * Rnd() + 1)<\/pre>\n<p>liefert einen Zufallswert zwischen 1 und 6 und simuliert somit das Rollen eines W&uuml;rfels. Sie finden ihn in der Ereigniseigenschaft Beim &ouml;ffnen des Formulars frmW&uuml;rfel (siehe Bild 3).<\/p>\n<p>Da diese Codezeile aus dem Formularmodul des Formulars frmW&uuml;rfel stammt, muss der Funktionsname ZZG in diesem Fall durch das englische Equivalent Rnd() ersetzt werden.<\/p>\n<h3>Initialisieren des Zufallsgenerators mit der Anweisung Randomize<\/h3>\n<p>Vielleicht ist Ihnen aufgefallen, dass die W&uuml;rfelfolge nach jedem neuen Start von Access v&ouml;llig identisch ist. Dies liegt daran, dass die Funktion ZZG() beim ersten Aufruf immer den gleichen Startwert verwendet und daher immer die gleiche Zufallszahl erzeugt.<\/p>\n<p>Da diese wiederum als Startwert f&uuml;r die n&auml;chste Zufallszahl verwendet wird, ist die gesamte Folge immer wieder gleich.<\/p>\n<p>Um dies zu verhindern, stellt Access die Anweisung Randomize zur Verf&uuml;gung, die den Zufallsgenerator mit dem aktuellen Wert des Zeitgebers initialisiert.<\/p>\n<p>Dieser Wert ver&auml;ndert sich jede Millisekunde, sodass es unm&ouml;glich ist, den Startwert manuell zu beeinflussen.<\/p>\n<p>In der Beispieldatenbank erfolgt dieser Aufruf in der Ereignisprozedur Beim &ouml;ffnen des Formulars frmW&uuml;rfel vor der Berechnung der Zufallszahl.<\/p>\n<p><IMG height=\"294\" src=\"..\/fileadmin\/_temp_\/{1C2225E3-FD1C-4041-8D50-983FD33DF979}\/pic003.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Der gesamte Code des &ouml;ffnen-Ereignisses besteht aus zwei Zeilen.<\/span><\/b><\/p>\n<p>Es ist zwar generell m&ouml;glich, auch der Anweisung Randomize einen festgelegten Startwert zu &uuml;bergeben. Dies macht allerdings nicht viel Sinn, da so die Komponente &#8222;Zufall&#8220; ausgeschaltet wird.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8222;Mathe! &#8211; Gut, dass ich damit seit der Schulzeit (seit dem Studium) nichts mehr zu tun habe!&#8220; &#8211; das denken jetzt m&ouml;glicherweise einige Leser. Fr&uuml;her oder sp&auml;ter holt einen diese Zeit wieder ein, denn auch wenn die trigonometrischen Funktionen von VBA eher selten zum Einsatz kommen d&uuml;rften, gibt es durchaus interessante Kandidaten: Oder behauptet da irgendjemand, er habe noch nie bei-spielsweise eine Zufallszahl ermitteln m&uuml;ssen<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662006,66032006,44000025],"tags":[],"class_list":["post-55000351","post","type-post","status-publish","format-standard","hentry","category-662006","category-66032006","category-VBA_und_Programmiertechniken"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Mathematische Funktionen - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mathematische Funktionen\" \/>\n<meta property=\"og:description\" content=\"&quot;Mathe! - Gut, dass ich damit seit der Schulzeit (seit dem Studium) nichts mehr zu tun habe!&quot; - das denken jetzt m&ouml;glicherweise einige Leser. Fr&uuml;her oder sp&auml;ter holt einen diese Zeit wieder ein, denn auch wenn die trigonometrischen Funktionen von VBA eher selten zum Einsatz kommen d&uuml;rften, gibt es durchaus interessante Kandidaten: Oder behauptet da irgendjemand, er habe noch nie bei-spielsweise eine Zufallszahl ermitteln m&uuml;ssen\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:18:20+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg04.met.vgwort.de\/na\/5d277185a48d4ac58d74a349c14cde80\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Mathematische Funktionen\",\"datePublished\":\"2020-05-06T15:18:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/\"},\"wordCount\":2144,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/5d277185a48d4ac58d74a349c14cde80\",\"articleSection\":[\"2006\",\"3\\\/2006\",\"VBA und Programmiertechniken\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/\",\"name\":\"Mathematische Funktionen - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/5d277185a48d4ac58d74a349c14cde80\",\"datePublished\":\"2020-05-06T15:18:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/5d277185a48d4ac58d74a349c14cde80\",\"contentUrl\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/5d277185a48d4ac58d74a349c14cde80\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mathematische_Funktionen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mathematische Funktionen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Mathematische Funktionen - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/","og_locale":"de_DE","og_type":"article","og_title":"Mathematische Funktionen","og_description":"\"Mathe! - Gut, dass ich damit seit der Schulzeit (seit dem Studium) nichts mehr zu tun habe!\" - das denken jetzt m&ouml;glicherweise einige Leser. Fr&uuml;her oder sp&auml;ter holt einen diese Zeit wieder ein, denn auch wenn die trigonometrischen Funktionen von VBA eher selten zum Einsatz kommen d&uuml;rften, gibt es durchaus interessante Kandidaten: Oder behauptet da irgendjemand, er habe noch nie bei-spielsweise eine Zufallszahl ermitteln m&uuml;ssen","og_url":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:18:20+00:00","og_image":[{"url":"http:\/\/vg04.met.vgwort.de\/na\/5d277185a48d4ac58d74a349c14cde80","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Mathematische Funktionen","datePublished":"2020-05-06T15:18:20+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/"},"wordCount":2144,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg04.met.vgwort.de\/na\/5d277185a48d4ac58d74a349c14cde80","articleSection":["2006","3\/2006","VBA und Programmiertechniken"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/","url":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/","name":"Mathematische Funktionen - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/#primaryimage"},"thumbnailUrl":"http:\/\/vg04.met.vgwort.de\/na\/5d277185a48d4ac58d74a349c14cde80","datePublished":"2020-05-06T15:18:20+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/#primaryimage","url":"http:\/\/vg04.met.vgwort.de\/na\/5d277185a48d4ac58d74a349c14cde80","contentUrl":"http:\/\/vg04.met.vgwort.de\/na\/5d277185a48d4ac58d74a349c14cde80"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Mathematische_Funktionen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Mathematische Funktionen"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000351"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000351\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}