BEISPIEL
BEISPIEL
BEISPIEL
BEISPIEL
Testen Sie im Debug-Fenster:
? Format$(334.9, "###0.00") ' liefert 334,90 (Punkt im Formatstring wird zum Komma!)
? Format$(334.9, "#0.00E+00") ' ergibt 33,49E+01.
? Format$(Date, "dddd, \d\e\n dd.mm.yyyy") ' liefert z.B.
"Sonntag, den 25.01.2004"
? Format$(Date, "\#m\/d\/yyyy\#") ' liefert z.B. "#1/25/2004#" (englisches Datumsliteral!)
? Format$(Now, "\#m\/d\/yy hh:mm\#") ' ergibt z.B. "#1/25/04 15:25#"
FormatNumber-, FormatPercent- und FormatCurrency-Funktion
Hier handelt es sich um spezialisierte Formatierungs-Funktionen, die meist noch über weitere (optionale)
Argumente verfügen (siehe Online-Hilfe).
Falls Sie eine Zahl mit dem Punkt (.) als Tausender-Trennzeichen formatieren wollen, können Sie die
FormatNumber-Funktion verwenden.
Die Zahl
12045,23
wird mit drei Nachkommastellen formatiert.
? FormatNumber(12045.23, 3) ' liefert "12.045,230"
Mit der FormatPercent-Funktion lässt sich eine Zahl als Prozentzahl ausdrücken (standardmäßig mit zwei
Nachkommastellen).
Wie Sie sehen, kann man im Argument auch rechnen.
? FormatPercent(3/10 + 0.1) ' liefert "40,00%"
Die FormatCurrency-Funktion formatiert eine Zahl in der Währung, wie sie in der Systemsteuerung (»Län-
dereinstellungen«) eingestellt wurde (für uns in der Regel Euro).
Die Zahl
1205.36
wird in
Euro
ausgegeben.
? FormatCurrency(1205.36) ' liefert "1.205,36 Euro"
Vordefinierte Funktionen
VBA stellt für Sie ein Sammelsurium vordefinierter Funktionen bereit, von denen wir hier nur die wichtigs-
ten aufführen wollen.
Mathematische Funktionen
Die Sammlung an wissenschaftlichen Funktionen nimmt sich relativ bescheiden aus, dürfte aber den
Alltagsproblemen des »normalen« Datenbankprogrammierers durchaus gewachsen sein.
105
Vordefinierte Funktionen
Kapitel 2: Programmieren mit VBA
Funktion Erklärung
Abs(x) Liefert den Absolutwert der Zahl x
Atn(x) Berechnet den Arcustangens der Zahl x im Bogenmaß
Cos(x) Berechnet den Cosinus eines Winkels x, der im Bogenmaß vorliegt
Exp(x) Liefert die x-te Potenz zur Basis e (Basis des natürlichen Logarithmus)
Fix(x) Gibt den ganzzahlig abgerundeten Anteil der Zahl x zurück
Int(x) Gibt den ganzzahligen Anteil der Zahl x zurück
Log(x) Liefert den natürlichen Logarithmus (Basis e) einer Zahl x
Randomize[zahl] Startet den Zufallszahlengenerator
Rnd[(zahl)] Generiert eine Zufallszahl
Round(zahl) Rundet auf den nächsten ganzzahligen Wert
Sgn(x) Liefert 1 oder 0 oder -1 für x > 0, x = 0, x < 0 (Vorzeichenfunktion)
Sin(x) Berechnet den Sinus eines Winkels x, der im Bogenmaß angegeben ist
Sqr(x) Berechnet die Quadratwurzel einer Zahl x
Tan(x) Berechnet den Tangens eines Winkels x, der im Bogenmaß vorliegt
Tabelle 2.14 Mathematische Funktionen
Winkelfunktionen
Die Werte für Winkel sind durchgängig im Bogenmaß (Maßeinheit Radiant) angegeben. Benutzen Sie z.B.
die folgenden Anweisungen, um zwischen Grad und Rad umzurechnen:
Const Pi = 3.141592654
Dim rad As Double
Dim grad As Double
rad = Pi * grad / 180 = 0.0175 * grad
grad = 180 * rad / Pi = 57.296 * rad
Weitere trigonometrische Funktionen lassen sich aus den Standardfunktionen ableiten. Die folgende Tabel-
le zeigt eine Auswahl, die Sie mit Hilfe einer »mathematischen Formelsammlung« beliebig ergänzenn-
nen:
Winkelfunktion Berechnung mit Standardfunktionen
CoTangens(x) 1/Tan(x)
ArcSin(x) Atn(x/Sqr(1-x*x))
ArcCos(x) Atn(Sqr(1-x*x)/x)
ArcCoTangens(x) Atn(x) + 2 * Atn(1)
Sekans(x) 1/Cos(x)
Tabelle 2.15 Trigonometrische Funktionen
106
BEISPIEL
BEISPIEL
Winkelfunktion Berechnung mit Standardfunktionen
CoSekans(x) 1/Sin(x)
SinusHyperbolicus(x) (Exp(x)-Exp(-x))/2
CosinusHyperbolicus(x) (Exp(x) + Exp(-x)) / 2
ArcSinHyperbolicus(x) Log(x + Sqr(x * x + 1))
Tabelle 2.15 Trigonometrische Funktionen (Fortsetzung)
Der
ArcCos(0,5)
soll in der Maßeinheit Grad ermittelt werden.
Const Pi = 3.1416
Dim x As Double
x = 0.5
Debug.Print 180 / Pi * Atn(Sqr(1 – x * x) / x) ' 60 Grad (59,999...)
Zufallszahlen
Wenn Sie die Rnd-Funktion ohne Argument einsetzen, wird ein Wert im Bereich 0 ... 0.99999, basierend
auf der Systemzeit, zurückgeliefert. Das Argument zahl kann auch das Ergebnis eines Ausdrucks sein. Sein
Wert legt fest, wie die Zufallszahl generiert wird:
Wert des Arguments zahl Welche Zufallszahl wird generiert?
< 0 Immer wieder die gleiche Zufallszahl mit zahl als Startwert
> 0 Die nächste Zufallszahl der Folge
= 0 Die zuletzt generierte Zufallszahl
Nicht angegeben Die nächste Zufallszahl der Folge
Tabelle 2.16 Argument zur Zufallszahlenberechnung
Um Zufallszahlen in einem frei definierten Bereich zu erzeugen, können Sie die folgende Formel verwen-
den:
z = Int((obereGrenze – untereGrenze + 1) * Rnd + untereGrenze)
Bevor Sie Rnd anwenden, sollten Sie durch Aufruf von Randomize dafür sorgen, dass sich immer wieder an-
dere Zufallszahlenfolgen ergeben. Die Randomize-Anweisung benutzt das optionale Argument zahl als
Startwert zum Initialisieren des Zufallszahlengenerators. Ohne zahl dient der von der Timer-Funktion zu-
rückgegebene Wert als neuer Startwert. Verwenden Sie die Randomize-Anweisung ohne Argument, können
Sie einen zufälligen Startwert (basierend auf der Systemzeit) erzeugen.
Durch wiederholtes Anwenden der beiden Anweisungen werden die Zufallszahlen
1
bis
6
generiert (Würfel).
Randomize
z = Int(6 * Rnd + 1)
107
Vordefinierte Funktionen

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.