|
|
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:
- Erstellen Sie eine Abfrage, die auf der
eingebundenen Tabelle basiert.
- Im Abfrageentwurf fügen Sie die einzelnen
Felder per Doppelklick hinzu, so dass jedes Feld eine eigene
Spalte zugeordnet bekommt.
- 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.
- Im angezeigten Dialog können Sie unter
"Format" zum Beispiel "Währung" oder
"Euro" einstellen.
- Speichern und schliessen Sie die Abfrage.
- Ö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". |
|