技術(shù) 點(diǎn)
- 技術(shù)
- 點(diǎn)
- V幣
- 點(diǎn)
- 積分
- 19931
|
當(dāng)您用Access查詢(xún)鏈接到 Microsoft Excel 電子表格的表時(shí),可能收到以下錯(cuò)誤消息 : Numeric field overflow.
原因
Access 為 Excel 電子表格的每個(gè)字段分配一種數(shù)據(jù)類(lèi)型。這種分配基于前 8 行中包含的數(shù)據(jù)。例如,如果某個(gè)字段在前 8 行中具有 數(shù)字數(shù)據(jù)類(lèi)型,而在其余的某些行中包含文本值,則 Access 將為該鏈接表字段分配 數(shù)字?jǐn)?shù)據(jù)類(lèi)型。這使得 Access 無(wú)法鏈接包含文本數(shù)據(jù)值的記錄。當(dāng)查詢(xún)?cè)撟侄螘r(shí),Microsoft Jet 數(shù)據(jù)庫(kù)引擎在應(yīng)該是數(shù)字的地方遇到了文本。該查詢(xún)將失敗,并出現(xiàn)“癥狀”一節(jié)中的錯(cuò)誤消息。
替代方法
要解決此問(wèn)題,您必須確保源 Excel 電子表格的每個(gè)字段中的數(shù)據(jù)值是完全相同的數(shù)據(jù)類(lèi)型;蛘撸绻 Excel 電子表格的字段包含混合數(shù)據(jù)類(lèi)型的數(shù)據(jù)值,則將該字段格式化為 文本。使用以下代碼在單元格中重新輸入值。然后,將 Excel 電子表格鏈接到 Access。為此,請(qǐng)按照下列步驟操作:
注意:開(kāi)始這些步驟之前,必須先備份 Excel 電子表格。- 在 Excel 中打開(kāi)源電子表格。
- 在電子表格中,標(biāo)識(shí)包含混合數(shù)據(jù)類(lèi)型的數(shù)據(jù)值的字段。
- 選擇被標(biāo)識(shí)的列,然后將電子表格中的單元格格式化為 文本。
- 在 Excel 中創(chuàng)建包含以下過(guò)程的宏:Sub Addspace() Dim cell As Object For Each cell In Selection cell.Value = " " & cell.Value cell.Value = Right(cell.Value, Len(cell.Value) - 1) NextEnd Sub
- 選擇電子表格中包含混合數(shù)據(jù)類(lèi)型的數(shù)據(jù)值的字段。運(yùn)行您在第 4 步中創(chuàng)建的宏。
注意:如果在有問(wèn)題的單元格上運(yùn)行該宏時(shí)出錯(cuò),請(qǐng)忽略此錯(cuò)誤。 - 保存電子表格。
- 在 Access 中打開(kāi)數(shù)據(jù)庫(kù)。
- 從數(shù)據(jù)庫(kù)中鏈接到 Excel 中的源電子表格。
更多信息
導(dǎo)入時(shí),不要鏈接 Excel 電子表格。這是因?yàn)?文本數(shù)據(jù)類(lèi)型在導(dǎo)入算法中具有優(yōu)先權(quán)。例如,如果進(jìn)行數(shù)據(jù)采樣所得出的主要數(shù)據(jù)類(lèi)型是數(shù)值,但是此樣本中至少有一個(gè)文本值,則 Access 會(huì)將整個(gè)字段作為 文本導(dǎo)入。
參考
有關(guān)其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫(kù)中相應(yīng)的文章: ACC2002:忽略的 MaxScanRows 設(shè)置可能引起鏈接表中的數(shù)據(jù)類(lèi)型不正確
ACC2000:#Num Appears in Linked Microsoft Excel Spreadsheet
有關(guān)如何在 Microsoft Excel 中創(chuàng)建宏的更多信息,請(qǐng)單擊“幫助”菜單上的“Microsoft Excel 幫助”,在“Office 助手”或“應(yīng)答向?qū)А敝墟I入創(chuàng)建宏,然后單擊“搜索”以查看相關(guān)主題。 有關(guān)如何在 Microsoft Excel 中運(yùn)行宏的更多信息,請(qǐng)單擊“幫助”菜單上的“Microsoft Excel 幫助”,在“Office 助手”或“應(yīng)答向?qū)А敝墟I入運(yùn)行宏,然后單擊“搜索”以查看相關(guān)主題。
|
|