Access交流中心

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

.csv型文本文件导入时出错,是否有解?

baiqingrui  发表于:2014-07-18 11:07:25  
复制

我有一个扩展名为.csv的文本文件,可以用Excel打开,里面内容显示如下

姓名“张,老三”和 “李老,四”中间有一个英文逗号(,)。

.CSV文件字段间是也是用英文逗号(,)分隔开的,这个文件用EXCEL打开是正常的,但是用ACCESS导入(导入外部数据-->文本文件)会出错,变成这样:


我现在只能先把.CSV文件另存为EXCEL文件,再导入到ACCESS,不知道哪位大侠能解决这个问题。(.CSV的数据无法传上来, 可以用EXCEL另存为.CSV格式。



 

Top
麥田 发表于:2014-07-18 11:48:50
逗号在excel里面去除在导入

baiqingrui 发表于:2014-07-18 12:04:18
数据很大的,我上面只是做个演示。

baiqingrui 发表于:2014-07-18 12:04:18
数据很大的,我上面只是做个演示。

baiqingrui 发表于:2014-07-18 12:05:54

字段也很多,事先并不知道那个字段可能会有问题



baiqingrui 发表于:2014-07-18 12:07:00

估计这个奇葩的问题大家都没碰到过



西出阳关无故人 发表于:2014-07-18 17:13:11

在导入前用代码转换为:文本文件(制表符分割)

Private Sub Command1_Click()
   On Error Resume Next
    Dim ex As Boolean
    Dim a
    Dim xlBook As Excel.Workbook
    Dim j
    Dim xlApp As Object
    Dim varItem As Variant


    Set xlApp = GetObject(, "Excel.Application")
    If Err.Number <> 0 Then
        Set xlApp = CreateObject("Excel.Application")
        Err.Clear
        ex = False
    Else
        ex = True
    End If
    Set xlBook = xlApp.Workbooks.Open(CurrentProject.Path & "\文本逗号分隔.csv")
    xlApp.Visible = True
    xlBook.SaveAs FileName:="F:\lxt\年度\2014\设计\文本逗号分隔6.txt", FileFormat:=xlText, CreateBackup:=False
    xlBook.Close
    Set xlBook = Nothing
    If ex = False Then
       xlApp.Quit
    End If
    Set xlApp = Nothing
End Sub




西出阳关无故人 发表于:2014-07-18 18:03:06
转换后的文本文件,如果有日期列的话,导入时要特别注意日期格式的变换.

baiqingrui 发表于:2014-07-18 21:02:20

谢谢楼上的, VBA代码我基本看不懂, 刚开始学习ACCESS.  

我想既然用excel可以正常打开数据, 那是否可以用vba编写一段程序, 模拟把数据先导入到excel,然后再由Excel导入到ACCESS的过程. 不知道是否可行, 编程是否复杂?



西出阳关无故人 发表于:2014-07-18 22:38:15

你的意思是把CSV转到到excel,然后再从excel导入到access,当然可以。

我的代码是“把CSV转到到txt,然后再从txt导入到access”的第一阶段。第二阶段可以不用代码,用导入向导就可以了,当然也可以用代码一气呵成。

重要的是解决了你说的导入错误的问题



baiqingrui 发表于:2014-07-19 00:06:55
能把你说的一气呵成的vba代码写出来让我测试一下吗?

西出阳关无故人 发表于:2014-07-22 18:17:38

实例

由于你没有提供示例数据,access表和csv的字段名为:字段1,字段2,...



baiqingrui 发表于:2014-08-02 07:56:43
总记录:12篇  页次:1/1 9 1 :