Vba 需要帮助完善我的Access visual basic代码以将文本文件拆分为列吗

Vba 需要帮助完善我的Access visual basic代码以将文本文件拆分为列吗,vba,ms-access,Vba,Ms Access,我有一个文本文件,看起来像下图 这是我的Access visual basic代码,它将这3行代码放入列中 Sub ImportMyFile() Const strFile As String = "C:\Users\Samuel\Desktop\new.txt" Dim strLine As String Dim rs As Recordset Dim i As Byte Set rs = CurrentDb.OpenRecordset("Table2") Open strFile Fo

我有一个文本文件,看起来像下图

这是我的Access visual basic代码,它将这3行代码放入列中

Sub ImportMyFile()
Const strFile As String = "C:\Users\Samuel\Desktop\new.txt"
Dim strLine As String
Dim rs As Recordset
Dim i As Byte

Set rs = CurrentDb.OpenRecordset("Table2")

Open strFile For Input As #1
Do Until EOF(1)
i = i + 1
Line Input #1, strLine

If i = 1 Then
rs.AddNew
rs!Category_NM = strLine
ElseIf i = 2 Then
rs!Activity_Nm = Mid(strLine, 10)
ElseIf i = 3 Then
rs!Class_Nm = Mid(strLine, 7)
End If

If i = 4 Or EOF(1) Then
rs.Update
i = 0
End If
Loop
Close #1
rs.Close
Set rs = Nothing

End Sub
问题是,我有一些包含4行的部分,其中名称被拆分为2行。比如说

You
Tube
package: com.google.android.youtube
class: com.google.android.youtube.app.honeycomb.Shell$HomeActivity
如何在我的代码中说明这一点

我要么把“管子”去掉,把“你”留下,要么把它们合并成“你管子”

我正在处理成百上千的代码,我真的很想要一些自动的东西。

让我们使用I作为标志 0-需要添加记录 1-集合类别 2套包装 3-设置类和更新记录集

Sub ImportMyFile()
Const strFile As String = "C:\Users\Samuel\Desktop\new.txt"
Dim strLine As String
Dim rs As Recordset
Dim i As Byte

Set rs = CurrentDb.OpenRecordset("Table2")

Open strFile For Input As #1
Do Until EOF(1)

    Line Input #1, strLine

    If i = 0 Then
        rs.AddNew
        i = 1
    end if

    If left(strLine, 6) = "class:" Then
        rs!Class_Nm = Mid(strLine, 7)
        i = 3
    End If

    If left(strLine, 8) = "package:" Then
        rs!Activity_Nm = Mid(strLine, 10)
        i = 2
    end if

    If i = 1 Then
        rs!Category_NM = rs!Category_NM & " " & strLine
    end if

    If i=3 or EOF(1) Then
        rs.Update
        i = 0
    End If
Loop
Close #1
rs.Close
Set rs = Nothing

End Sub
让我们用i作为标志 0-需要添加记录 1-集合类别 2套包装 3-设置类和更新记录集

Sub ImportMyFile()
Const strFile As String = "C:\Users\Samuel\Desktop\new.txt"
Dim strLine As String
Dim rs As Recordset
Dim i As Byte

Set rs = CurrentDb.OpenRecordset("Table2")

Open strFile For Input As #1
Do Until EOF(1)

    Line Input #1, strLine

    If i = 0 Then
        rs.AddNew
        i = 1
    end if

    If left(strLine, 6) = "class:" Then
        rs!Class_Nm = Mid(strLine, 7)
        i = 3
    End If

    If left(strLine, 8) = "package:" Then
        rs!Activity_Nm = Mid(strLine, 10)
        i = 2
    end if

    If i = 1 Then
        rs!Category_NM = rs!Category_NM & " " & strLine
    end if

    If i=3 or EOF(1) Then
        rs.Update
        i = 0
    End If
Loop
Close #1
rs.Close
Set rs = Nothing

End Sub

我试图把我所有的数据都输入,但现在我出错了。我试图从txt文件中导入100万行,但我发现“字段太小,无法接受您试图添加的数据量”错误。然后我尝试了40万行和同样的错误。我能做什么?你必须调试。当错误引发时,检查strLine值和字段大小。我只是说strLine=“音乐播放器。不知道它为什么现在这样做。第一次效果很好。我甚至试过使用同一个txt文件,但出现了这个错误。它似乎没有从我的文本文件的第一行删除。我不明白它第一次是怎么工作得这么好,现在却不工作了。我重新创建了一个完整的新数据库,就像它在一个仍然得到那个错误之前一样。我甚至让文本文件只有20行。我试图把我所有的数据都放进去,但现在我得到了一个错误。我试图从txt文件中导入100万行,但我发现“字段太小,无法接受您试图添加的数据量”错误。然后我尝试了40万行和同样的错误。我能做什么?你必须调试。当错误引发时,检查strLine值和字段大小。我只是说strLine=“音乐播放器。不知道它为什么现在这样做。第一次效果很好。我甚至试过使用同一个txt文件,但出现了这个错误。它似乎没有从我的文本文件的第一行删除。我不明白它第一次是怎么工作得这么好,现在却不工作了。我重新创建了一个完整的新数据库,就像它在一个仍然得到那个错误之前一样。我甚至让文本文件只有20行。