2017-08-18 1 views
-1

Bitte helfen Sie mir, wie alle Datensätze erfüllt Kriterien im Textfeld (Zeile für Zeile) als der untenstehende Code nur den ersten Datensatz abrufen.Schreiben Sie alle Datensatz erfüllt Kriterien Zeile für Zeile in Visual Basic 6

Hinweis: Ich habe versucht, mit mehreren Zeilen in Textfeld zu ermöglichen, aber ein Fehler aufgetreten „zuweisen kann nicht nur Eigenschaft lesen“

Jede Hilfe bitte mit Änderung des beloe Code

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 

Antwort

0

Können Sie posten Sie auch, was in der Datei text1.txt ist? Müssen Sie wirklich die sLine für etwas wie TOTAL INTERCHANGE Wert überprüfen? Übrigens überschreiben Sie einfach den Wert von text5.text jedes Mal. Es sollte

Text5.Text = Text5.Text & sLine 

ODER

Text5.Text = Text5.Text & sLine & vbCrLf 

auch sein, sollten Sie in der Lage ohne Probleme die Multiline auf True zur Entwurfszeit festgelegt.

1

Um herauszufinden, ob Ihre Zeile enthält die Zeichenfolge "TOTAL INTERCHANGE" Sie können auch verwenden Instr (keine Sorge, Like funktioniert auch ganz gut).

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

Hier ist die Referenz ist, und Sie können es auch online schnell testen :: VBScript InStr Function (es ist VBScript, nicht VB6, aber es spielt keine Rolle, es ist identisch)

In Bezug auf die MultiLine Eigenschaft, Sie sollte es in der VB6 IDE, nicht durch Code setzen.

Auf den Punkt gebracht:

Bitte beachten Sie, dass Sie nicht den ganzen Inhalt der TextBox ersetzen sollte, aber die neuen Linien am Ende Anfügen von den tatsächlichen Inhalt des TextBox halten und nur einen Zeilenumbruch einfügen. Dies ist, was die Text5.Text = Text5.Text & sLine & vbCrLf tut.

+0

Dank Lernen und deblocker, es hat jetzt gut funktioniert. –

+0

Ich habe eine andere Fragen: - Wie kann bestimmte Zeile aus Textfeld nehmen und es in einem anderen (z. B. ich fand einen Datensatz in der zweiten Zeile und ich brauche es in einem anderen Textfeld angezeigt)? - Ich möchte eine weitere Bedingung für die Anweisung hinzufügen und die Ergebnisse am Anfang jeder Zeile aus der ersten Anweisung drucken, ist es machbar? –

+0

Sie sollten einen weiteren Thread für Ihre andere Frage erstellen, da Ihre ursprüngliche Frage bereits gelöst wurde. – Learning

Verwandte Themen