Datentypen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Pwania (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Pwania (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Category:vba-wiki]] | |||
== Natürliche Datentypen == | == Natürliche Datentypen == | ||
Zeile 30: | Zeile 31: | ||
| 0 – 255 | | 0 – 255 | ||
| 0 | | 0 | ||
| 1 Byte | | | 1 Byte | ||
| | |||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | | | | ||
| | |||
| Integer | | Integer | ||
| Einfache Ganzzahl | | Einfache Ganzzahl | ||
Zeile 38: | Zeile 41: | ||
| -32.768 bis 32.767 (2^16) | | -32.768 bis 32.767 (2^16) | ||
| 0 | | 0 | ||
| 2 Byte | | | 2 Byte | ||
| | |||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | | | | ||
| | |||
| Long | | Long | ||
| Lange Ganzzahl | | Lange Ganzzahl | ||
Zeile 49: | Zeile 54: | ||
| Bevorzugter Datentyp für Ganzzahlen | | Bevorzugter Datentyp für Ganzzahlen | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | [[Gleitkommazahlen]] | | | ||
| [[Gleitkommazahlen]] | |||
| Single | | Single | ||
| Gleitkommazahl einfacher Genauigkeit | | Gleitkommazahl einfacher Genauigkeit | ||
Zeile 58: | Zeile 64: | ||
| Tatsächlich abbildbarer Bereich durch Exponente deutlich größer, aber Genauigkeit auf insgesamt 8 Stellen beschränkt: 1,234568E+38 | | Tatsächlich abbildbarer Bereich durch Exponente deutlich größer, aber Genauigkeit auf insgesamt 8 Stellen beschränkt: 1,234568E+38 | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | | | | ||
| | |||
| Double | | Double | ||
| Gleitkommazahl doppelter Genauigkeit | | Gleitkommazahl doppelter Genauigkeit | ||
Zeile 67: | Zeile 74: | ||
| Siehe Single, auf 16 Stellen beschränkt | | Siehe Single, auf 16 Stellen beschränkt | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | | | | ||
| | |||
| Currency | | Currency | ||
| Währung | | Währung | ||
Zeile 106: | Zeile 114: | ||
| Sollte nur wenn absolut nötig verwendet werden. | | Sollte nur wenn absolut nötig verwendet werden. | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | [[Type|Benutzerdefiniert]] | | | ||
| [[Type|Benutzerdefiniert]] | |||
| Type | | Type | ||
| Kann ein oder mehrere Elemente enthalten | | Kann ein oder mehrere Elemente enthalten | ||
Zeile 115: | Zeile 124: | ||
| Kann als Gruppe von Werten verstanden werden (Typ Person enthält Name, Vorname, Geburtsdatum, ...) | | Kann als Gruppe von Werten verstanden werden (Typ Person enthält Name, Vorname, Geburtsdatum, ...) | ||
|} | |} | ||
== Dynamische Datentypen == | == Dynamische Datentypen == | ||
Zeile 136: | Zeile 144: | ||
| Eindimensionale Liste | | Eindimensionale Liste | ||
| col | | col | ||
| | Nothing | | | ||
| Nothing | |||
| Wie benötigt | | Wie benötigt | ||
| Kann eine Liste von Werten mit beliebigen Datentypen entgegennehmen. Neue Elemente können beliebig in der vorhandenen Liste eingeschoben werden. | | Kann eine Liste von Werten mit beliebigen Datentypen entgegennehmen. Neue Elemente können beliebig in der vorhandenen Liste eingeschoben werden. | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | [[Array|Datenfelder]] | | | ||
| [[Array|Datenfelder]] | |||
| Array | | Array | ||
| Liste / Tabelle | | Liste / Tabelle | ||
| Abhängig von Datentyp | | Abhängig von Datentyp | ||
| | Keiner bzw. Abhängig von Datentyp | | | ||
| Keiner bzw. Abhängig von Datentyp | |||
| Wie benötigt | | Wie benötigt | ||
| Kann eine ein- oder mehrdimensionale Liste von Werten mit einem vorgegebenen Datentypen entgegennehmen. Alle Elemente haben einen festen Platz. | | Kann eine ein- oder mehrdimensionale Liste von Werten mit einem vorgegebenen Datentypen entgegennehmen. Alle Elemente haben einen festen Platz. | ||
|} | |} | ||
== Objekte == | == Objekte == | ||
Zeile 173: | Zeile 183: | ||
| Enthält einen Verweis auf das Original-Objekt, welches ein beliebiges Anwendungs- oder Klassenobjekt sein kann | | Enthält einen Verweis auf das Original-Objekt, welches ein beliebiges Anwendungs- oder Klassenobjekt sein kann | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | [[Anwendungsobjekte]] | | | ||
| [[Anwendungsobjekte]] | |||
| Object | | Object | ||
| Klassenreferenz auf Anwendungsobjekt | | Klassenreferenz auf Anwendungsobjekt | ||
| | 32-Bit-Adressen | | | ||
| 32-Bit-Adressen | |||
| Nothing | | Nothing | ||
| 4 Byte | | 4 Byte | ||
| Nimmt eine Instanz eines Anwendungsobjektes entgegen | | Nimmt eine Instanz eines Anwendungsobjektes entgegen | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | [[Klassenobjekte]] | | | ||
| [[Klassenobjekte]] | |||
| Object | | Object | ||
| Klassenreferenz | | Klassenreferenz | ||
| | 32-Bit-Adressen | | | ||
| 32-Bit-Adressen | |||
| Nothing | | Nothing | ||
| 4 Byte | | 4 Byte | ||
| Nimmt eine Instanz einer Klasse aus dem gleichen VBA-Projekt entgegen | | Nimmt eine Instanz einer Klasse aus dem gleichen VBA-Projekt entgegen | ||
|} | |} |
Aktuelle Version vom 28. Januar 2023, 00:34 Uhr
Natürliche Datentypen
Als natürliche Datentypen bezeichnen wir solche Datentypen, die einen eindeutigen Wert entgegennehmen, im Gegensatz zu dynamischen Datentypen, welche mehrere Werte aufnehmen können, oder (Klassen-)Objekten, die nicht nur Werte, sondern auch Prozeduren enthalten können.
Familie | Unterfamilie | Datentyp | Beschreibung | Präfix | Bereich | Initialwert | Speicherbedarf | Anmerkungen |
---|---|---|---|---|---|---|---|---|
Zeichen | Zeichenketten | String | Zeichenkette | str | Variabel bis 2^31 (2 Mia) Zeichen | "" (Leerstring) | Wie benötigt | Ein Datentyp für einzelne Zeichen existiert in VB(A) nicht |
Numerische Werte | Ganzzahlen | Byte | Binärdaten | bte | 0 – 255 | 0 | 1 Byte | |
Integer | Einfache Ganzzahl | int | -32.768 bis 32.767 (2^16) | 0 | 2 Byte | |||
Long | Lange Ganzzahl | lng | -2.147.483.648 bis 2.147.483.647 (2^32) | 0 | 4 Byte | Bevorzugter Datentyp für Ganzzahlen | ||
Gleitkommazahlen | Single | Gleitkommazahl einfacher Genauigkeit | sng | Insgesamt 8 Stellen inkl. Komma 123,4568 -123456,8 |
0.0 | 4 Byte | Tatsächlich abbildbarer Bereich durch Exponente deutlich größer, aber Genauigkeit auf insgesamt 8 Stellen beschränkt: 1,234568E+38 | |
Double | Gleitkommazahl doppelter Genauigkeit | dbl | Insgesamt 16 Stellen inkl. Komma 123,456789012346 -123456789012,346 |
0.0 | 8 Byte | Siehe Single, auf 16 Stellen beschränkt | ||
Currency | Währung | cur | Maximal 15 Stellen vor, immer 4 Stellen nach Komma | 0.0 | 8 Byte | Muss nicht zwingend für Währung eingesetzt werden | ||
Zeit | Datum und Uhrzeit | Date | Datum und Uhrzeit | dte | 01. Januar 100 bis zum 31. Dezember 9999 | 00:00:00 | 8 Byte | Wird als Double gespeichert. Kann nur Datum, nur Uhrzeit oder Datum und Uhrzeit enthalten. Vorkommastellen repräsentieren die Anzahl Tage vor bzw. nach dem 30. Dezember 1899, Nachkommastellen die Uhrzeit. Mitternacht entspricht dem Wert 0, und 12:00 Mittag entspricht dem Nachkommawert 0,5. |
Boolesche | Boolesche Werte | Boolean | Boolescher Wert | bln | True, False | False (0) | 2 Byte | Setzen: 0 ist False, <> 0 True Abfragen: False 0, True -1 |
Unbestimmt | Unbestimmt | Variant | Kann alle Datenypen aufnehmen | var | Abhängig von Originaldatentyp | Abhängig von Originaldatentyp | Abhängig von Originaldatentyp | Sollte nur wenn absolut nötig verwendet werden. |
Benutzerdefiniert | Type | Kann ein oder mehrere Elemente enthalten | tpe | Abhängig von Originaldatentyp(en) | Abhängig von Originaldatentyp(en) | Abhängig von Originaldatentyp(en) | Kann als Gruppe von Werten verstanden werden (Typ Person enthält Name, Vorname, Geburtsdatum, ...) |
Dynamische Datentypen
Dynamische Datentypen können nicht nur einen Wert aufnehmen, sondern eine Liste von Werten (Collections), oder sogar eine beliebig dimensionierte Sammlung von zusammenhängenden Werten (Arrays).
Familie | Unterfamilie | Datentyp | Beschreibung | Präfix | Bereich | Initialwert | Speicherbedarf | Anmerkungen |
---|---|---|---|---|---|---|---|---|
Dynamische Datentypen | Eindimensionale Listen | Collection | Eindimensionale Liste | col | Nothing | Wie benötigt | Kann eine Liste von Werten mit beliebigen Datentypen entgegennehmen. Neue Elemente können beliebig in der vorhandenen Liste eingeschoben werden. | |
Datenfelder | Array | Liste / Tabelle | Abhängig von Datentyp | Keiner bzw. Abhängig von Datentyp | Wie benötigt | Kann eine ein- oder mehrdimensionale Liste von Werten mit einem vorgegebenen Datentypen entgegennehmen. Alle Elemente haben einen festen Platz. |
Objekte
Familie | Unterfamilie | Datentyp | Beschreibung | Präfix | Bereich | Initialwert | Speicherbedarf | Anmerkungen |
---|---|---|---|---|---|---|---|---|
Objekte | Generelle Objekte | Object | Objektreferenz | obj | 32-Bit-Adressen | Nothing | 4 Byte | Enthält einen Verweis auf das Original-Objekt, welches ein beliebiges Anwendungs- oder Klassenobjekt sein kann |
Anwendungsobjekte | Object | Klassenreferenz auf Anwendungsobjekt | 32-Bit-Adressen | Nothing | 4 Byte | Nimmt eine Instanz eines Anwendungsobjektes entgegen | ||
Klassenobjekte | Object | Klassenreferenz | 32-Bit-Adressen | Nothing | 4 Byte | Nimmt eine Instanz einer Klasse aus dem gleichen VBA-Projekt entgegen |