Access exportuje dlouhá celočíselná čísla jako dvojitý datový typ s desetinnými místy ve formátu dBase IV (.dbf).

Původní číslo KB: 891775

Příznaky

Když vytvoříte tabulku aplikace Microsoft Office Access, která obsahuje dlouhá celočíselná čísla, a pak tuto tabulku exportujete jako typ dBase IV (.dbf), čísla se převedou na dvojitý datový typ a zobrazí se desetinná místa.

Můžete například exportovat následující tabulku:

JEDNOTKY
23411
111111111
1121212

Když pak importujete a zobrazíte data v dBase IV, data se budou podobat následujícímu:

JEDNOTKY
23411.00000
111111111.00000
1121212.00000

Poznámka

Když v Accessu vytvoříte číselné pole v tabulce, použijete vlastnost FieldSize k řízení velikosti místa přiděleného konkrétnímu poli. U číselných polí můžete ze seznamu zvolit jeden z následujících číselných typů:

  • Bajt
  • Celé číslo
  • Dlouhé celé číslo
  • Jednoduché
  • Dvojité
  • Replikační ID
  • Desetinných

Ve výchozím nastavení je nastavení číselných polí Dlouhé celé číslo. Hodnota Long Integer uchovává celá čísla v rozsahu od -2 do +2 miliard. Nebo můžete zvolit hodnotu Double a uložit čísla s desetinnými místy.

Příčina

K tomuto problému dochází, protože v dBase neexistuje žádný datový typ Integer. dBase používá datové typy Numeric nebo Float. Access mapuje dlouhé celé číslo na datový typ Číselný v dBase.

Řešení

Chcete-li tento problém vyřešit, použijte jednu z následujících metod:

Metoda 1: Úprava souboru databáze v dBase

Po přidání souboru databáze do katalogu dBase upravte návrh souboru databáze. Například nastavte sloupec Dec na 0 (nula). Další informace o návrhu souborů databáze v dBase najdete v dokumentaci k databázi dBase.

Metoda 2: Použití aplikace Microsoft Office Excel k formátování dat

K formátování dat v tabulce, kterou jste exportovali, použijte Excel. Postupujte takto:

  1. V Excelu otevřete tabulku, kterou jste exportovali jako typ dBase IV (*.dbf) z Accessu.
  2. Naformátujte buňky, které nejsou správně naformátované. Uděláte to tak, že vyberete buňky a v nabídce Formát kliknete na Buňky.
  3. Jakmile buňky naformátujete, vyexportujte tabulku jako soubor dBase IV. Postupujte takto:
    1. V nabídce Soubor klikněte na Uložit jako.
    2. V poli Uložit jako typ klikněte na DBF 4 (dbase IV) (*.dbf) a potom klikněte na Uložit.

Metoda 3: Použití ukázkového kódu k formátování dat

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené, včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Technici podpory společnosti Microsoft mohou pomoci vysvětlit funkce konkrétního postupu. Nebudou však upravovat tyto příklady tak, aby poskytovaly přidanou funkcionalitu nebo sestavovaly postupy, které splňují vaše specifické požadavky.

Následující ukázku kódu můžete použít k automatizaci procesu formátování dat. Ukázka uloží tabulku jako textový soubor. Pak excel automaticky otevře textový soubor a uloží ho ve formátu dBase IV.

Poznámka

Názvy souborů v této ukázce kódu musíte změnit tak, aby odpovídaly názvům souborů.

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