Access, uzun tamsayı sayılarını dBase IV (.dbf) biçiminde ondalık basamaklarla çift veri türü olarak dışarı aktarır

Özgün KB numarası: 891775

Belirtiler

Uzun tamsayı sayıları içeren bir Microsoft Office Access tablosu oluşturduğunuzda ve sonra bu tabloyu dBase IV (.dbf) türü olarak dışarı aktardığınızda, sayılar çift veri türüne dönüştürülür ve ondalık basamakları gösterir.

Örneğin, aşağıdaki tabloyu dışarı aktarabilirsiniz:

BİRİM
23411
111111111
1121212

Ardından dBase IV'de verileri içeri aktarıp görüntülediğinizde, veriler aşağıdakine benzer görünür:

BİRİM
23411.00000
111111111.00000
1121212.00000

Not

Access'te bir tabloda sayı alanı oluşturduğunuzda, belirli bir alan için ayrılan alan miktarını denetlemek için FieldSize özelliğini kullanırsınız. Sayı alanları için, listeden aşağıdaki sayısal türlerden birini seçebilirsiniz:

  • Bayt
  • Tamsayı
  • Uzun Tamsayı
  • Tek
  • Çift
  • ReplicationID
  • Ondalık

Varsayılan olarak, sayı alanları için ayar Uzun Tamsayı'dır. Uzun Tamsayı değeri, yaklaşık -2 milyar ile +2 milyar arasında değişen tam sayıları depolar. Ya da ondalıklı sayıları depolamak için Çift değerini seçebilirsiniz.

Neden

Bu sorun, dBase'de Tamsayı veri türü olmadığından oluşur. dBase, Sayısal veya Kayan veri türlerini kullanır. Access, Uzun Tamsayıları dBase'deki Sayısal veri türüyle eşler.

Geçici Çözüm

Bu sorunu geçici olarak çözmek için aşağıdaki yöntemlerden birini kullanın:

Yöntem 1: dBase'de veritabanı dosyasını değiştirme

Veritabanı dosyasının tasarımını dBase kataloğuna eklendikten sonra değiştirin. Örneğin Dec sütununu 0 (sıfır) olarak ayarlayın. dBase'de veritabanı dosyaları tasarlama hakkında daha fazla bilgi için dBase belgelerine bakın.

Yöntem 2: Verileri biçimlendirmek için Microsoft Office Excel'i kullanma

Dışarı aktardığınız tablodaki verileri biçimlendirmek için Excel'i kullanın. Bunu yapmak için şu adımları uygulayın:

  1. Excel'de, Access'ten dBase IV (*.dbf) türü olarak dışarı aktardığınız tabloyu açın.
  2. Doğru biçimlendirilmemiş hücreleri biçimlendirin. Bunu yapmak için hücreleri seçin ve biçim menüsünde Hücreler'e tıklayın.
  3. Hücreleri biçimlendirdikten sonra, elektronik tabloyu dBase IV dosyası olarak dışarı aktarın. Bunu yapmak için şu adımları uygulayın:
    1. Dosya menüsünde, Farklı Kaydet'i tıklatın.
    2. Kayıt türü kutusunda DBF 4 (dbase IV) (*.dbf) seçeneğine ve ardından Kaydet'e tıklayın.

Yöntem 3: Verileri biçimlendirmek için örnek kod kullanma

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna zımni garantiler, satılabilirlik veya belirli bir amaca uygunluk da dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri belirli bir yordamın işlevselliğini açıklamaya yardımcı olabilir. Ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmeyeceklerdir.

Verileri biçimlendirme işlemini otomatikleştirmek için aşağıdaki kod örneğini kullanabilirsiniz. Örnek, tabloyu metin dosyası olarak kaydeder. Ardından Excel'i otomatikleştirerek metin dosyasını açar ve dBase IV biçiminde kaydeder.

Not

Bu kod örneğindeki dosya adlarını dosya adlarınızla eşleşecek şekilde değiştirmeniz gerekir.

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