錯誤3349 無法記錄所做的更改,因為您輸入的值違反了為此表或列表定義的設(shè)置(例如,您所輸入的值小于最小值或大于最大值)。請更正錯誤并重試
- 2020-05-02 08:00:00
- zstmtony 原創(chuàng)
- 8214
在幫客戶定做一個Access系統(tǒng),需要導(dǎo)入Excel的數(shù)據(jù)
使用命令:
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "銷售數(shù)據(jù)", strFile, True 'SaleReport 導(dǎo)入Excel數(shù)據(jù)
但出現(xiàn)以下的錯誤
錯誤 #3349:無法記錄所做的更改,因為您輸入的值違反了為此表或列表定義的設(shè)置(例如,您所輸入的值小于最小值或大于最大值)。請更正錯誤并重試
英文出錯信息:"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.手工導(dǎo)入這個Excel表,發(fā)現(xiàn)有異常,提示 產(chǎn)品代碼 和產(chǎn)品組 數(shù)字類型轉(zhuǎn)換異常 ,因為產(chǎn)品代碼 產(chǎn)品組前面 是一些數(shù)字類的代碼,但導(dǎo)入時 可以后面的些產(chǎn)品代碼是文本,但Excel導(dǎo)入時一般會根據(jù)列的前幾行來確定這個列的數(shù)據(jù)類型
因為前面是數(shù)字,所以Access以為是數(shù)字類型,但后面的內(nèi)容卻是文本,所以導(dǎo)入出錯
2.在excel中將這2列 格式改為文本,再導(dǎo)入就正常了
相關(guān)的文章:
我在過去一年中一直運(yùn)行良好的TransferSpreadsheet函數(shù)存在問題。
我正在從每次啟動應(yīng)用程序時都會打開的表單的open事件運(yùn)行VBA代碼。該代碼刪除訪問暫存表的內(nèi)容,然后使用transferspreadsheet函數(shù)將2個excel文件導(dǎo)入到暫存文件中。
我已逐步完成代碼,并且該錯誤發(fā)生在下面的第一個docmd上。
DoCmd.TransferSpreadsheet acImport,“ tblScrtchSO”,_
“ C:\ Users \ mviolet \ My Documents \ OptiTrak2 \ QuarantineTesting \ Internal_Sales_Orders.xls”,
True'- 從內(nèi)部銷售excel文件DoCmd.TransferSpreadcactSrt,導(dǎo)入“,_
“ C:\ Users \ mviolet \我的文檔\ OptiTrak2 \ QuarantineTesting \ MK_Sales_Orders.xls”,是'-'從MK_Sales_Orders導(dǎo)入
如果我注釋掉第一個docmd,則第二個可以運(yùn)行。因此,第一個文件中的數(shù)據(jù)似乎是罪魁禍?zhǔn)?,但是?shù)據(jù)看起來還可以。我嘗試從第一個excel文件中刪除數(shù)據(jù)行,但是即使只有一行excel數(shù)據(jù),它仍然會失敗。
錯誤消息是:
“ 3349:您不能記錄所做的更改,因為您輸入的值違反了為此表或列表定義的設(shè)置(例如,值小于最小值或大于最大值)。更正錯誤并嘗試再次。”
暫存表上沒有規(guī)則。與暫存表沒有關(guān)系。
excel文件是xls文件,數(shù)據(jù)庫是Access 2010中運(yùn)行的mdb文件。該應(yīng)用程序正在使用用戶級安全性。
感謝您的任何想法。
標(biāo)記
丹尼爾·皮諾
2013年12月10日,下午10:24
如果您嘗試手動導(dǎo)入會怎樣?
excel列數(shù)據(jù)是否與Access表字段數(shù)據(jù)類型匹配?
您是否已使用了有效的舊工作簿,并將其與未能看到發(fā)生變化的工作簿進(jìn)行了比較?(假設(shè)更改已在Excel中發(fā)生,可能不是這種情況,但絕對值得驗證)
基思·穆勒(Keith Mueller)
2013年12月10日,下午10:28
馬克,
我會檢查您的數(shù)據(jù)類型。excel文件中可能存在“錯誤”數(shù)據(jù)。您可能試圖將太大的數(shù)字放入整數(shù)字段,或者可能試圖將錯誤的日期放入日期字段。
我必須使導(dǎo)入暫存表中的字段主要是文本字段,因為導(dǎo)入文件中的數(shù)據(jù)不良。然后,我可以在ETL的“轉(zhuǎn)換”步驟中“驗證”數(shù)據(jù)。
祝你好運(yùn),開心,
基思
市場
2013年12月11日下午04:55
感謝您的建議。
手動將excel文件導(dǎo)入Access暫存表中,并創(chuàng)建一個Access錯誤表,指示第110行上的Excel錯誤。當(dāng)我返回Excel并查看第110行時,它是最后一行之后的第一個“空”記錄數(shù)據(jù)的。我選擇并刪除了Excel中的行并保存了文件。當(dāng)我回到Access并再次手動導(dǎo)入時,它現(xiàn)在可以正確導(dǎo)入,現(xiàn)在transferspreadsheet似乎也可以正常工作。
transferspreadsheet函數(shù)不會在Excel中查找第一個空行并在此處停止(不導(dǎo)入空記錄)嗎?在“空”行110中是否有不可見的字符?還是轉(zhuǎn)帳電子表格使用了某種程度上錯誤的Excel范圍?
無論如何,它似乎正在工作。
基思·穆勒(Keith Mueller)
2013年12月11日,下午08:47
...在該行中有東西,一個單元格中可能有空格...如果繼續(xù)出現(xiàn)該錯誤,則需要調(diào)整表中的數(shù)據(jù)類型,就像我說過我使用允許空值的文本字段一樣,然后“清理”數(shù)據(jù)。
安尼爾是對的!手動導(dǎo)入引發(fā)了錯誤...
很高興您找到了它!
dmhzx
2013年12月12日,上午03:53
傳輸電子表格有其自己的黑暗而神秘的方法來決定要導(dǎo)入多少行以及要導(dǎo)入多少列。
經(jīng)常會獲得65000行以上的空數(shù)據(jù)(或者說是習(xí)慣)
excel中的數(shù)據(jù)質(zhì)量通常很差,以至于我最終一次導(dǎo)入一個單元格。
有趣的項目通常是
11月31日這樣的
日期,例如
文檔長度超過255個字符的“ TBA” Ttiles 日期(順便說一下,transferspreadshheet會自動截斷而不會報告錯誤。
在數(shù)據(jù)末尾添加空格。
如果有“序列號”要導(dǎo)入的數(shù)字,其中有些數(shù)字帶有前導(dǎo)零,您最終可能會只輸入進(jìn)來的數(shù)字,或者除這些之外的所有東西,或者前導(dǎo)零掉了,具體取決于您設(shè)置傳輸方式的方式
一件事,如果一個excel導(dǎo)入突然停止工作,幾乎可以肯定是excel文件中的數(shù)據(jù)所引起的。根據(jù)文件
的大小,一次存儲一個單元的速度仍然可能會非??臁?br />
- office課程播放地址及課程明細(xì)
- Excel Word PPT Access VBA等Office技巧學(xué)習(xí)平臺
- 將( .accdb) 文件格式數(shù)據(jù)庫轉(zhuǎn)換為早期版本(.mdb)的文件格式
- 將早期的數(shù)據(jù)庫文件格式(.mdb)轉(zhuǎn)換為 (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 數(shù)據(jù)庫引擎和訪問連接引擎以阻止對遠(yuǎn)程數(shù)據(jù)庫的訪問(remote table)
- Access 365 /Access 2019 數(shù)據(jù)庫中哪些函數(shù)功能和屬性被沙箱模式阻止(如未啟動宏時)
- Access Runtime(運(yùn)行時)最全的下載(2007 2010 2013 2016 2019 Access 365)
- Activex控件或Dll 在某些電腦無法正常注冊的解決辦法(regsvr32注冊時卡?。?/a>
- office使用部分控件時提示“您沒有使用該ActiveX控件許可的問題”的解決方法
- RTF文件(富文本格式)的一些解析
- Access樹控件(treeview) 64位Office下出現(xiàn)橫向滾動條不會自動定位的解決辦法
- Access中國樹控件 在win10電腦 節(jié)點行間距太小的解決辦法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 樹控件 ListView列表等64位MSCOMMCTL.OCX控件下載
- VBA或VB6調(diào)用WebService(直接Post方式)并解析返回的XML
- 早期PB程序連接Sqlserver出現(xiàn)錯誤
- MMC 不能打開文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由于文件不存在,不是一個MMC控制臺,或者用后來的MMC版
- sql server連接不了的解決辦法
- localhost與127.0.0.1區(qū)別
- Roych的淺談數(shù)據(jù)庫開發(fā)系列(Sql Server)
- sqlserver 自動備份對備份目錄沒有存取權(quán)限的解決辦法
- 安裝Sql server 2005 express 和SQLServer2005 Express版企業(yè)管理器 SQLServer2005_SSMSEE
聯(lián)系人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |