Access交流中心

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

txt 导入 access2007 一行文本很长执行老出错

陈国红  发表于:2012-09-21 21:54:09  
复制

Private Sub Command6_Click()


On Error GoTo ErrorHandler
    Dim strRowSource As String
    Dim varFileName As String
    Dim strSplit As Variant
    Dim arrStr() As String
    With Application.FileDialog(3)
        .Title = "选择文件"
        .InitialFileName = ""
        .Filters.Clear
        .Filters.Add "文本文件", "*.txt"
        .AllowMultiSelect = False
        If .Show Then
            varFileName = .SelectedItems.Item(1)
            CurrentProject.Connection.Execute ("delete from acctmas") '导入前清空
            If Len(varFileName) = 0 Then
                MsgBox "请选择记事本文件!", vbInformation, "提示"
                Exit Sub
            End If
                strSplit = "|"    '分隔符号
                Open varFileName For Input As #1
                Do Until EOF(1)
                    Line Input #1, strRowSource   '将1号文件读取一行复制到strRowSource
                    If Len(strRowSource) = 0 Then '如果是空行就退出循环
                        Close #1
                        MsgBox "导入成功!", vbInformation, "提示"
                        Exit Sub
                    End If
                    arrStr = Split(strRowSource, strSplit)
                
                    CurrentProject.Connection.Execute "insert into acctmas([a0a],[a1a],[a2a],[a3a],[a4a],[a5a],[a6a],[a7a],[a8a],[a9a],[a10a],[a11a],[a12a],[a13a],[a14a],[a15a],[a16a],[a17a],[a18a],[a19a],[a20a]) values('" _
                    & arrStr(0) & "'," & arrStr(1) & "," & arrStr(2) & "," & arrStr(3) & "," & arrStr(4) & "," & arrStr(5) & "," & arrStr(6) & "," & arrStr(7) & "," & arrStr(8) & "," & arrStr(9) _
                    & "," & arrStr(10) & "," & arrStr(11) & "," & arrStr(12) & "," & arrStr(13) & "," & arrStr(14) & "," & arrStr(15) & "," & arrStr(16) & "," & arrStr(17) & "," & arrStr(18) & "," & arrStr(19) & "," & arrStr(20) & ")"

                    Loop
                Close #1
                MsgBox "导入成功!", vbInformation, "提示"
        End If
    End With
   
Exithere:
    Close #1
    Exit Sub

ErrorHandler:
        MsgBox Err.Description, vbInformation, "导入错误提示"
        Resume Exithere


End Sub

 

Top
总记录:0篇  页次:0/0 9 1 :