Access exportiert lange ganzzahlige Zahlen als double-Datentyp mit Dezimalstellen im dBase IV-Format (.dbf)
Ursprüngliche KB-Nummer: 891775
Symptome
Wenn Sie eine Microsoft Office Access-Tabelle erstellen, die lange ganzzahlige Zahlen enthält, und sie dann als Typ dBase IV (.dbf) exportieren, werden die Zahlen in den Double-Datentyp konvertiert und zeigen Dezimalstellen an.
Sie können beispielsweise die folgende Tabelle exportieren:
EINHEITEN
23411
111111111
1121212
Wenn Sie dann die Daten in dBase IV importieren und anzeigen, werden die Daten wie folgt angezeigt:
EINHEITEN
23411.00000
111111111.00000
1121212.00000
Hinweis
Wenn Sie ein Zahlenfeld in einer Tabelle in Access erstellen, verwenden Sie die FieldSize-Eigenschaft, um den Platz zu steuern, der einem bestimmten Feld zugeordnet wird. Für Zahlenfelder können Sie einen der folgenden numerischen Typen aus einer Liste auswählen:
- Byte
- Ganze Zahl
- Long Integer
- Einzel
- Gleitkommawert mit doppelter Genauigkeit
- ReplicationID
- Dezimal
Standardmäßig ist die Einstellung für Zahlenfelder Long Integer. Der Long Integer-Wert speichert ganze Zahlen im Bereich von etwa -2 Milliarden bis +2 Milliarden. Alternativ können Sie den Double-Wert auswählen, um Zahlen mit Dezimalstellen zu speichern.
Ursache
Dieses Problem tritt auf, weil in dBase kein Integer-Datentyp vorhanden ist. dBase verwendet entweder den Datentyp Numeric oder Float. Access ordnet lange ganze Zahlen dem Datentyp Numeric in dBase zu.
Problemumgehung
Verwenden Sie eine der folgenden Methoden, um dieses Problem zu umgehen:
Methode 1: Ändern der Datenbankdatei in dBase
Ändern Sie den Entwurf der Datenbankdatei, nachdem sie dem dBase-Katalog hinzugefügt wurde. Legen Sie beispielsweise die Spalte Dec auf 0 (null) fest. Weitere Informationen zum Entwerfen von Datenbankdateien in dBase finden Sie in der dBase-Dokumentation.
Methode 2: Verwenden von Microsoft Office Excel zum Formatieren der Daten
Verwenden Sie Excel, um die Daten in der exportierten Tabelle zu formatieren. Gehen Sie dazu wie folgt vor:
- Öffnen Sie in Excel die Tabelle, die Sie als Typ dBase IV (*.dbf) aus Access exportiert haben.
- Formatieren Sie die Zellen, die nicht ordnungsgemäß formatiert sind. Wählen Sie dazu die Zellen aus, und klicken Sie dann im Menü Format auf Zellen.
- Nachdem Sie die Zellen formatiert haben, exportieren Sie das Arbeitsblatt als dBase IV-Datei. Gehen Sie dazu wie folgt vor:
- Klicken Sie im Menü Datei auf Speichern unter.
- Klicken Sie im Feld Dateityp auf DBF 4 (dbase IV) (*.dbf) und dann auf Speichern.
Methode 3: Verwenden von Beispielcode zum Formatieren der Daten
Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Die Mitarbeiter der Microsoft Product Support Services erklären Ihnen gerne die Funktionsweise einer bestimmten Prozedur. Die Mitarbeiter werden diese Beispiele jedoch weder modifizieren, um zusätzliche Funktionalität zu schaffen, noch Prozeduren entwickeln, die auf Ihre spezifischen Bedürfnisse zugeschnitten sind.
Sie können das folgende Codebeispiel verwenden, um den Prozess der Formatierung der Daten zu automatisieren. Im Beispiel wird eine Tabelle als Textdatei gespeichert. Anschließend wird Excel automatisiert, um die Textdatei zu öffnen und dann im dBase IV-Format zu speichern.
Hinweis
Sie müssen die Dateinamen in diesem Codebeispiel so ändern, dass sie ihren Dateinamen entsprechen.
Sub exportFormat()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Const SAVETEXT = "C:\testValues.txt"
Const SAVEDBF = "C:\testDBF.dbf"
' Save the table as a text file.
DoCmd.TransferText acExportDelim, , "Table1", SAVETEXT, TRUE
' Set a reference to the Application object.
Set xlApp = ' Set a reference to the Workbook object.
Set xlBook = xlApp.Workbooks.Open(SAVETEXT, , , ' Save the file to dBase IV format.
xlBook.SaveAs Filename:=SAVEDBF, FileFormat:=xlDBF4
xlBook.Close savechanges:=False
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für