MS Access Datentypen

Speichern der Daten in MS Access Tabellen

Der richtig ausgewählte Datentyp ist verantwortlich für die Geschwindigkeit und die Grösse der Access Datenbank. So klein wie möglich, so gross wie nötig ist die Devise.

DatentypVerwendungGrösseStartwert
Kurzer Text (einst Text)Alphanumerische Zeichenmax 255 ZeichenvbNullString
Langer Text (einst Memo)Alphanumerische Zeichenbis zu 1 GB, angezeigt werden 64’000 ZeichenvbNullString
Zahl Byteganze Zahl 0 bis 2551 Byte0
Integer
AutoWert
Ganze Zahl -32’768 bis +32’7682 Byte0
Long Integer Ganze Zahl – 2.147.483.648 bis + 2.147.483.6484 Byte0
SingleFliesskommazahl einfacher Genauigkeit (7 Stellen) –3,402823E38 bis + 3,402823E384 Byte0
DoubleFliesskommazahl mit doppelter Genauigkeit (15 Stellen) von –1,79769313486232E308 bis + 1,79769313486232E3088 Byte0
WährungFestkommazahl, Speicherung wie Double8 Byte0
Ja/NeinBoolescher Wert (True, False)1 Bitfalse
OLE-ObjektBinärdaten bis 1 GBBis 1 GB.nothing
DatumDatums-Zeit-Angaben vom 01.01.100 bis 31.12.99998 Byte30.12.1899 00:00
VariantZahlenwerte im Bereich Double
Text
16 Byte
22 Byte plus Zeichenlänge
empty
AnlageMehrere Dateien.
RTF
Berechnetes Feld

Typische Felder

BezeichnungBeispiel WertDatentyp
Telefonnummer 091 829 00 07 Text oder Integer mit Zahlenformat
CH-Postleitzahl8000Integer
CH-Postleitzahl 6 Stellig8000.1Single

Platz sparen durch Normalisierung

Daten welche doppelt gespeichert werden müssen, könnte man in separate Tabellen auslagern. Man sprich von Normalisierung der relationalen Datenbank.

Um zum Beispiel nicht jeden Vornamen mehrfach zu Speichern (Hans Müller, Hans Kuster, Hans Walker…) kann eine Tabelle für die Vornamen angelegt werden tblVorname mit den beiden Felder ID und fldVorname. Das fldVorname Unic, es darf nur einmal vorkommen.
Nachteil: Jeder Vorname muss einmal vorhanden sein. Dies kann durch eine VBA Programmierung für die Eingabe abgefangen werden.
Vorteil: Neue Namen können über ein DropDown Feld «angeschrieben» oder ausgewählt werden.

Gleiches geht auch mit Strassennamen, Berufsbezeichnungen und ähnlichem.

JET Engine im Vergleich mit MS SQL Server

Nicht alle Datenfelder der MS Access Datenbank mit der Jet Engine funktionieren auch bei einer Migration zu einem MS SQL Server. So gibt es derzeit (Jan 22) auf dem MS SQL Server keine Entsprechung für das JET Engine Datenfeld Anhang. Hier wäre eine entsprechende Anpassung eines ggf. verwendeten VBA Code nötig.

Unterstützung

Gerne unterstütze ich Sie bei der Anwendung der Datentypen oder der Anpassung Ihrer MS Access Datenbank. Kontaktieren Sie mich unverbindlich für Anpassungen, Neuentwicklungen, Konvertierungen, Datenveredlungen und anderen Access oder Excel Fragen.