Tipps "n" Tricks
Anwender-Software - Access

Last Update: 24. Dezember 2001/Webmaster

Rechnen mit Textfeldern

Thema:

Access 97, 2000, 2002
Problem: Wie kann man in Access ein Textfeld in ein numerisches Feld ändern, so dass mit dem Feldinhalt gerechnet werden kann. Die Tabelle stammt aus einer per ODBC verknüpften Datenbankdatei.
Lösung: Normalerweise stellt Access die Datentypen für Felder eingebundener Tabellen so zur Verfügung, wie sie in der Datenquelle eingestellt sind. Unterstützt Access einen bestimmten Datentyp eventuell nicht, wird der geeignetste Datentyp dafür verwendet. Die einfachste Lösung wäre die, den Datentyp in der Datenquelle entsprechend einzustellen. Eine Änderung in den Eigenschaften der eingebundenen Tabelle ist allerdings aus Access heraus nicht möglich. Sie können die einzelnen Felder der eingebundenen Tabelle aber auch "on the fly" konvertieren. Wenn Sie zum Beispiel in einem Formular eine Währung anzeigen/verarbeiten möchten, die eingebundene Tabelle aber einen Wert vom Datentyp "Double" liefert, gehen Sie wie folgt vor:
  1. Erstellen Sie eine Abfrage, die auf der eingebundenen Tabelle basiert.
  2. Im Abfrageentwurf fügen Sie die einzelnen Felder per Doppelklick hinzu, so dass jedes Feld eine eigene Spalte zugeordnet bekommt.
  3. Klicken Sie mit der rechten Maustaste in die Spalte des Feldes, dessen Datentyp Sie anpassen möchten und wählen Sie Eigenschaften im Kontextmenü an.
  4. Im angezeigten Dialog können Sie unter "Format" zum Beispiel "Währung" oder "Euro" einstellen.
  5. Speichern und schliessen Sie die Abfrage.
  6. Öffnen Sie nun das dazugehörige Formular im Entwurfsmodus, markieren Sie das Feld, dessen Datentyp angepasst werden soll, wählen Sie das Menü ANSICHT-EIGENSCHAFTEN an und stellen Sie "Format" für das Feld ebenfalls auf beispielsweise "Währung" oder "Euro" ein.
Wenn Sie mit Feldinhalten aus eingebundenen Tabellen in Abfragen oder per VBA rechnen möchten, können Sie spezielle Konvertierfunktionen von Access benutzen. Um zum Beispiel ein Feld vom Datentyp "Double" als "Währung" innerhalb eines Formulars per VBA zu verarbeiten, käme eine Anweisung wie die folgende zum Einsatz:

curGesamtPreis=CCur(Me.txtVK)+CCur(Me.txtPortoVerpackung)

Die Funktion "CCur()" konvertiert hier das als Parameter angegebene Feld in den Datentyp "Währung" (Currency). Der Einsatz in Abfragen, Ausdrücken oder Feldformeln erfolgt ähnlich. In einer Abfrage geben Sie beispielsweise folgende Anweisung in der Zeile "Feld" an:

GesamtPreis: CCur([txtVK]) + CCur([PortoVerpackung])

Analog dazu sieht die Anweisung in einem berechneten Feld "txtGesamtPreis" so aus:

= CCur(Me.txtVK) + CCur(Me.txtPortoVerpackung)

Eine Übersicht aller zur Verfügung stehenden Konvertierfunktionen finden Sie im Handbuch bzw. in der Hilfe unter "Typ-Umwandlungsfunktionen".

 

Tipps "n" Tricks
Anwender-Software - Access