在Visual Basic 6中逐行写入所有符合条件的记录

问题描述:

请帮助我如何列出文本框中所有符合条件的记录(逐行),如下面的代码仅检索第一条记录。在Visual Basic 6中逐行写入所有符合条件的记录

注:我试图使在文本框中多行,但一个错误出现了“无法分配给只读属性”与修订beloe代码

Dim iFile As Integer 
Dim sLine As String, sNewText As String 

iFile = FreeFile 

Open App.Path & "\text1.txt" For Input As #iFile 
Do While Not EOF(iFile) 
    Line Input #iFile, sLine 
    If sLine Like "*TOTAL INTERCHANGE*" Then 
    Text5.Text = sLine 
    End If 
Loop 
Close 

任何帮助,请您能还发布了text1.txt文件中的内容?你是否真的需要检查sLine来获得TOTAL INTERCHANGE值?顺便说一句,你只是每次覆盖text5.text的值。它应该是

Text5.Text = Text5.Text & sLine 

OR

Text5.Text = Text5.Text & sLine & vbCrLf 

此外,你应该能够在设计时没有问题的多行设置为true。

要了解您的线是否包含字符串“TOTAL INTERCHANGE”,您还可以使用Instr(别担心,Like作品也很好)。

If Instr(1, sLine, "TOTAL INTERCHANGE") > 0 Then 
    Text5.Text = Text5.Text & sLine & vbCrLf 
End If 

下面是引用,你也可以快速的在线测试:: VBScript InStr Function(这是VBScript中,不是VB6,但没关系,这是相同的)

关于MultiLine属性,应该将其设置在VB6 IDE中,而不是通过代码。

的一点是:

请注意,你不应该取代文本框的全部内容,但是通过保持TextBox的实际内容,只是将换行符附加在年底前把新线。这就是Text5.Text = Text5.Text & sLine & vbCrLf所做的。

+0

感谢学习和deblocker,现在工作得很好。 –

+0

我还有其他问题: - 如何从文本框中取出特定的行并将其包含在另一行中(例如,我在第二行中找到了一条记录,并且我需要它在另一个文本框中显示)? - 我想在语句中添加另一个条件,并在第一条语句的每一行的开头打印结果,它是可行的吗? –

+0

您应该为您的其他问题创建另一个线程,因为您的原始问题已经解决。 – Learning