2016-04-14 2 views
0

Ich habe eine HTML-Datei, die Geldwerte mit bis zu 5 Dezimalstellen Genauigkeit enthält. I Do Kontrolle über die Struktur/Inhalt der HTML-Datei (und es ist XML-konform). Derzeit sind einige der numerischen Werte Tausendertrennzeichen:MS Access Datatyp Definition/Konvertierung für eine verknüpfte HTML-Tabelle mit Geldwerten

<td>-123,456.789</td> 
<td>123.456</td> 
<!--A null is an empty TD element--> 
<td></td> 

ich Zugriff auf die Datei verknüpfen möchten, und für die Daten in einer lokalen Tabelle importiert werden mit Feldern ein Dezimal Datentyp mit ohne zu verlieren beliebig Präzision.

jedoch Zugriff Import-Assistent (und IMEXColumn spec) keinen Dezimal-Datentypen zur Verfügung stellen, so dass ich zwischen den folgenden Ansätzen gerissen:

| Linked Column Type + Local Column Type + Type Conversion in Append query + 
+--------------------+-------------------+---------------------------------| 
| Text    | Decimal   | Implicit Conversion    | 
+--------------------+-------------------+---------------------------------| 
| Text    | Decimal   | CDec() Conversion    | 
+--------------------+-------------------+---------------------------------| 
| Currency   | Decimal   | Implicit Conversion    | 
+--------------------+-------------------+---------------------------------| 
| Currency   | Decimal   | CDec() Conversion    | 
+--------------------+-------------------+---------------------------------| 

ich zur Zeit bin Neigung in Richtung des Text/CDec() Ansatz (unter Berücksichtigung von Nullwerten). Wird dies der sicherste und effizienteste Ansatz sein?

+0

Ich denke, Sie sollten versuchen und sehen, welche Art von Daten endet genau in der Datenbank. –

Antwort

0

Sie sollten als Text verknüpfen, dann können Sie mit CDec konvertieren.

Wenn Sie Nullwerte haben, sollte dies in Ihrem clean-up-Abfrage tun:

Amount: IIf(IsNull([AmountText]),Null,CDec(Nz([AmountText],0)))