Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

Excel表格导入到Access,对双方格式设置有何要求?

Lee  发表于:2010-04-23 00:53:36  
复制

1.有一个Access《产品资料表》(简称Access表)和一个Excel《产品资料表》(简称Excel表),它们都有相同的字段(表头),都有内容不重复的字段(表头)“产品编号”(但Access表“产品编号”不是主键,ID才是,以防止万一导入数据时有重复导致主键冲突);
2.Excel表的单元格式根据Access表的字段类型一一对应设成文本或数字(已反复检查无误);
3.其中Access表数字字段的属性:字段大小-双精度型(单精度型和长整型都试过了),格式-固定;

 

把Excel表导入到Access表后有如下问题:
1.当原Access表内没有的产品编号(即新编号),数据导入后会追加到Access表后,但数字类型字段全为整数,小数点后全为0,例如:3.147 变成了 3.000 ;
2.当Access表内原有的产品编号,数据导入后文本字段和数字字段内容都没有更新,哪怕原Access表内字段为空白导入后也一样没有数据(Excel表对应字段内是有数据的)。

 

于是我做了两个试验:
1.我把Excel表导入到Access内生成一个新表,借此观察该表的字段属性设置,然后我把新表的字段属性设置到与Access《产品资料表》一样,再用新表生成了一个追加查询,企图把记录追加到《产品资料表》内,但有的记录不能追加,能追加的记录追加后问题与之前描述一样;
2.我再把之前思路反过来,把Access表导出生成一个新Excel表,再在此新Excel表内添加上我想要的资料内容,然后把这个表再导回原来的Access表内,但问题依旧与之前描述一样。

 

有人知道问题出在哪吗?

 

Top
黎红军 发表于:2010-05-01 03:18:54
请提交您的数据库

煮江品茶 发表于:2010-05-02 07:21:00

 

问题出在Excel表单元格格式问题上。比如在E表中有一列产量,这时候你很难保证这一列的所有数据都是数字型的,而且用格式设置的方法都难以纠正已有数据的格式问题。处理方法是:

1、在Excel表中增加一列(过渡计算用),用数据类型对应的强制转换函数将所需列的数据类型强制转换过来;

2、复制转换好的数据;

3、删除原来的列,并重新在原列的位置新增一列并按原列名称命名,全列(除列名外)一次性选择设置单元格数据格式;

4、用选择性粘贴--数据,将复制的数据粘贴到对应位置;

5、删除过渡计算用的那列数据。



Lee 发表于:2010-05-04 10:22:15

现付上数据库Sample供应研究。

另外请问EXCEL强制转换函数是怎样的?

点击下载此附件

总记录:3篇  页次:1/1 9 1 :