设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3075|回复: 4
打印 上一主题 下一主题

[ADO/DAO] 关于主页上“批量导入CSV(Txt)”发现的问题

[复制链接]
1#
发表于 2014-2-5 14:21:12 | 显示全部楼层
本帖最后由 Benjamin_luk 于 2014-2-13 09:56 编辑

两个办法:
1. 自己写一个Schema.ini, 放在CSV目录下, 为每个CSV文件写下如下内容:
[009876N.csv]
Format=Delimited(|)
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI

2.在读取CSV时, 将字符串用SPLIT(txt,"|")的方法将字符串转成单个值, 再写入数据表.
Option Compare Database
Public conn As New ADODB.Connection          'ADO
Public rs As New ADODB.Recordset
Public rs1 As New ADODB.Recordset
Public Function ReadCSVFile(ByVal strFilePath As String, ByVal strFileName As String)
    Dim i As Integer, a
    '===============================================================================
    '-函数名称:         ReadCSVFile
    '-功能描述:         导入csv文件
    '-输入参数说明:     参数1:strFilePath As String 目标路径
    '                   参数2:strFileName As String 文件名称
    '-使用语法示例:     ReadCSVFile("路径","文件名")
    '-参考:
    '-使用注意:
    '-兼容性:           2000,XP,2003
    '-作者:             Grant
    '-联系方式:         QQ:20991943  Email:20991943@qq.com
    '-更新日期:        2007-09-3
    '===============================================================================

    conn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
              "DBQ=" & strFilePath & ";Extensions=asc,csv,tab,txtersist Security Info=False"   '打开数据链接关键
    With rs
        .CursorType = 2
        .LockType = 3
        .CursorLocation = 3
        .ActiveConnection = conn
    End With

    Set conn = CurrentProject.Connection

    sqlcsv = "SELECT * FROM [" & strFileName & "]"
    rs.Open sqlcsv
    rs.Move (0)         '移动到指定记录

    sql = "Select * From tbl_Export"
    rs1.Open sql, conn, 1, 3

    Do Until rs.EOF
    a = Split(rs(0), "|")
        rs1.AddNew
        For i = 0 To 7
            rs1(i + 1) = a(i)
        Next
        rs.MoveNext
    Loop

    rs1.UpdateBatch
    rs1.Close
    rs.Close
    conn.Close
    Set rs = Nothing
    Set rs1 = Nothing
    Set conn = Nothing
End Function
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-17 04:23 , Processed in 0.100788 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表