Vba 需要帮助完善我的Access visual basic代码以将文本文件拆分为列吗
我有一个文本文件,看起来像下图 这是我的Access visual basic代码,它将这3行代码放入列中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
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行。