錯誤3349 無法記録所做的更改,因爲您輸入的值違反瞭爲此錶或列錶定義的設置(例如,您所輸入的值小於最小值或大於最大值)。請更正錯誤併重試
- 2020-05-02 08:00:00
- zstmtony 原創
- 7675
在幫客戶定做一箇Access繫統,需要導入Excel的數據
使用命令:
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "銷售數據", strFile, True 'SaleReport 導入Excel數據
但齣現以下的錯誤
錯誤 #3349:無法記録所做的更改,因爲您輸入的值違反瞭爲此錶或列錶定義的設置(例如,您所輸入的值小於最小值或大於最大值)。請更正錯誤併重試
英文齣錯信息:"3349: You cannot record your changes because a value you entered violates the settings defined for this table or list (for example, a value is less than the minimum or greater than the maximum). Correct the error and try again."
解決辦法:
1.手工導入這箇Excel錶,髮現有異常,提示 産品代碼 和産品組 數字類型轉換異常 ,因爲産品代碼 産品組前麵 是一些數字類的代碼,但導入時 可以後麵的些産品代碼是文本,但Excel導入時一般會根據列的前幾行來確定這箇列的數據類型
因爲前麵是數字,所以Access以爲是數字類型,但後麵的內容卻是文本,所以導入齣錯
2.在excel中將這2列 格式改爲文本,再導入就正常瞭
相關的文章:
我在過去一年中一直運行良好的TransferSpreadsheet函數存在問題。
我正在從每次啟動應用程序時都會打開的錶單的open事件運行VBA代碼。該代碼刪除訪問暫存錶的內容,然後使用transferspreadsheet函數將2箇excel文件導入到暫存文件中。
我已逐步完成代碼,併且該錯誤髮生在下麵的第一箇docmd上。
DoCmd.TransferSpreadsheet acImport,“ tblScrtchSO”,_
“ C:\ Users \ mviolet \ My Documents \ OptiTrak2 \ QuarantineTesting \ Internal_Sales_Orders.xls”,
True'- 從內部銷售excel文件DoCmd.TransferSpreadcactSrt,導入“,_
“ C:\ Users \ mviolet \我的文檔\ OptiTrak2 \ QuarantineTesting \ MK_Sales_Orders.xls”,是'-'從MK_Sales_Orders導入
如果我註釋掉第一箇docmd,則第二箇可以運行。因此,第一箇文件中的數據似乎是罪魁禍首,但是數據看起來還可以。我嚐試從第一箇excel文件中刪除數據行,但是卽使隻有一行excel數據,牠仍然會失敗。
錯誤消息是:
“ 3349:您不能記録所做的更改,因爲您輸入的值違反瞭爲此錶或列錶定義的設置(例如,值小於最小值或大於最大值)。更正錯誤併嚐試再次。”
暫存錶上沒有規則。與暫存錶沒有關繫。
excel文件是xls文件,數據庫是Access 2010中運行的mdb文件。該應用程序正在使用用戶級安全性。
感謝您的任何想法。
標記
丹尼爾·皮諾
2013年12月10日,下午10:24
如果您嚐試手動導入會怎樣?
excel列數據是否與Access錶字段數據類型匹配?
您是否已使用瞭有效的舊工作簿,併將其與未能看到髮生變化的工作簿進行瞭比較?(假設更改已在Excel中髮生,可能不是這種情況,但絶對值得驗證)
基思·穆勒(Keith Mueller)
2013年12月10日,下午10:28
馬剋,
我會檢查您的數據類型。excel文件中可能存在“錯誤”數據。您可能試圖將太大的數字放入整數字段,或者可能試圖將錯誤的日期放入日期字段。
我必鬚使導入暫存錶中的字段主要是文本字段,因爲導入文件中的數據不良。然後,我可以在ETL的“轉換”步驟中“驗證”數據。
祝你好運,開心,
基思
市場
2013年12月11日下午04:55
感謝您的建議。
手動將excel文件導入Access暫存錶中,併創建一箇Access錯誤錶,指示第110行上的Excel錯誤。當我返迴Excel併查看第110行時,牠是最後一行之後的第一箇“空”記録數據的。我選擇併刪除瞭Excel中的行併保存瞭文件。當我迴到Access併再次手動導入時,牠現在可以正確導入,現在transferspreadsheet似乎也可以正常工作。
transferspreadsheet函數不會在Excel中查找第一箇空行併在此處停止(不導入空記録)嗎?在“空”行110中是否有不可見的字符?還是轉帳電子錶格使用瞭某種程度上錯誤的Excel範圍?
無論如何,牠似乎正在工作。
基思·穆勒(Keith Mueller)
2013年12月11日,下午08:47
...在該行中有東西,一箇單元格中可能有空格...如果繼續齣現該錯誤,則需要調整錶中的數據類型,就像我説過我使用允許空值的文本字段一樣,然後“清理”數據。
安尼爾是對的!手動導入引髮瞭錯誤...
很高興您找到瞭牠!
dmhzx
2013年12月12日,上午03:53
傳輸電子錶格有其自己的黑暗而神秘的方法來決定要導入多少行以及要導入多少列。
經常會穫得65000行以上的空數據(或者説是習慣)
excel中的數據質量通常很差,以至於我最終一次導入一箇單元格。
有趣的項目通常是
11月31日這樣的
日期,例如
文檔長度超過255箇字符的“ TBA” Ttiles 日期(順便説一下,transferspreadshheet會自動截斷而不會報告錯誤。
在數據末尾添加空格。
如果有“序列號”要導入的數字,其中有些數字帶有前導零,您最終可能會隻輸入進來的數字,或者除這些之外的所有東西,或者前導零掉瞭,具體取決於您設置傳輸方式的方式
一件事,如果一箇excel導入突然停止工作,幾乎可以肯定是excel文件中的數據所引起的。根據文件
的大小,一次存儲一箇單元的速度仍然可能會非常快。
Access數據庫自身
- office課程播放地址及課程明細
- Excel Word PPT Access VBA等Office技巧學習平颱
- 將( .accdb) 文件格式數據庫轉換爲早期版本(.mdb)的文件格式
- 將早期的數據庫文件格式(.mdb)轉換爲 (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 數據庫引擎和訪問連接引擎以阻止對遠程數據庫的訪問(remote table)
- Access 365 /Access 2019 數據庫中哪些函數功能和屬性被沙箱模式阻止(如未啟動宏時)
- Access Runtime(運行時)最全的下載(2007 2010 2013 2016 2019 Access 365)
Access Activex第三方控件
- Activex控件或Dll 在某些電腦無法正常註冊的解決辦法(regsvr32註冊時卡住)
- office使用部分控件時提示“您沒有使用該ActiveX控件許可的問題”的解決方法
- RTF文件(富文本格式)的一些解析
- Access樹控件(treeview) 64位Office下齣現橫曏滾動條不會自動定位的解決辦法
- Access中國樹控件 在win10電腦 節點行間距太小的解決辦法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 樹控件 ListView列錶等64位MSCOMMCTL.OCX控件下載
- VBA或VB6調用WebService(直接Post方式)併解析返迴的XML
Access ADP Sql Server等
- 早期PB程序連接Sqlserver齣現錯誤
- MMC 不能打開文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由於文件不存在,不是一箇MMC控製颱,或者用後來的MMC版
- sql server連接不瞭的解決辦法
- localhost與127.0.0.1區彆
- Roych的淺談數據庫開髮繫列(Sql Server)
- sqlserver 自動備份對備份目録沒有存取權限的解決辦法
- 安裝Sql server 2005 express 和SQLServer2005 Express版企業管理器 SQLServer2005_SSMSEE
文章分類
聯繫我們
聯繫人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |